<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: ElftosbAST.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_elftosb_a_s_t_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">ElftosbAST.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * File:    ElftosbAST.h</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (c) Freescale Semiconductor, Inc. All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * See included license file for license details.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#if !defined(_ElftosbAST_h_)</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define _ElftosbAST_h_</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;stdafx.h&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;smart_ptr.h&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;EvalContext.h&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceelftosb.html">elftosb</a></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;{</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">// forward reference</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keyword">class </span>SymbolASTNode;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="structelftosb_1_1token__loc__t.html">   24</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structelftosb_1_1token__loc__t.html">token_loc_t</a></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structelftosb_1_1token__loc__t.html#a33767e3309c66eadc08d467208c5cfb6">   26</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structelftosb_1_1token__loc__t.html#a33767e3309c66eadc08d467208c5cfb6">m_firstLine</a>; </div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structelftosb_1_1token__loc__t.html#a6ad7abf2f553cfbe8976059316190b8f">   27</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structelftosb_1_1token__loc__t.html#a6ad7abf2f553cfbe8976059316190b8f">m_lastLine</a>;  </div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;};</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classelftosb_1_1_a_s_t_node.html">   33</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;{</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classelftosb_1_1_a_s_t_node.html#a043dd6f2f5012e4c79ebb1b3816c4209">   37</a></span>&#160;    <a class="code" href="classelftosb_1_1_a_s_t_node.html#a043dd6f2f5012e4c79ebb1b3816c4209">ASTNode</a>()</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        : m_parent(0)</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    }</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classelftosb_1_1_a_s_t_node.html#a040e81ff0ffed5739c77d4ec3640b59d">   43</a></span>&#160;    <a class="code" href="classelftosb_1_1_a_s_t_node.html#a040e81ff0ffed5739c77d4ec3640b59d">ASTNode</a>(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *parent)</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        : m_parent(parent)</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        , m_location{ 0, 0 }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    {</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    }</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classelftosb_1_1_a_s_t_node.html#aa1a6353ed6e3623589a34958e22785cb">   50</a></span>&#160;    <a class="code" href="classelftosb_1_1_a_s_t_node.html#aa1a6353ed6e3623589a34958e22785cb">ASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> &amp;other)</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        : m_parent(other.m_parent)</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        , m_location(other.m_location)</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    }</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classelftosb_1_1_a_s_t_node.html#a10a434446abd89b49017a84c89a4d6f1">   57</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html#a10a434446abd89b49017a84c89a4d6f1">~ASTNode</a>() {}</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *clone() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classelftosb_1_1_a_s_t_node.html#a8af745cbd3a4c417962ad39fcad3cb9a">   62</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_a_s_t_node.html#a8af745cbd3a4c417962ad39fcad3cb9a">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;ASTNode&quot;</span>; }</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getParent()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_parent; }</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setParent(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *newParent) { m_parent = newParent; }</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree()<span class="keyword"> const </span>{ printTree(0); }</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLocation(<a class="code" href="structelftosb_1_1token__loc__t.html">token_loc_t</a> &amp;loc) { m_location = loc; }</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLocation(<a class="code" href="structelftosb_1_1token__loc__t.html">token_loc_t</a> &amp;first, <a class="code" href="structelftosb_1_1token__loc__t.html">token_loc_t</a> &amp;last);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLocation(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *loc) { setLocation(loc-&gt;getLocation()); }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLocation(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *first, <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *last);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="structelftosb_1_1token__loc__t.html">token_loc_t</a> &amp;getLocation() { <span class="keywordflow">return</span> m_location; }</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="structelftosb_1_1token__loc__t.html">token_loc_t</a> &amp;getLocation()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_location; }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> getFirstLine() { <span class="keywordflow">return</span> m_location.<a class="code" href="structelftosb_1_1token__loc__t.html#a33767e3309c66eadc08d467208c5cfb6">m_firstLine</a>; }</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> getLastLine() { <span class="keywordflow">return</span> m_location.m_lastLine; }</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classelftosb_1_1_a_s_t_node.html#a2c4f1d44b8ccc3ce5c00c46d687263eb">   89</a></span>&#160;    <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_a_s_t_node.html#a2c4f1d44b8ccc3ce5c00c46d687263eb">m_parent</a>;      </div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classelftosb_1_1_a_s_t_node.html#a1f295dd46853bfd45275bed4d2b3dee5">   90</a></span>&#160;    <a class="code" href="structelftosb_1_1token__loc__t.html">token_loc_t</a> <a class="code" href="classelftosb_1_1_a_s_t_node.html#a1f295dd46853bfd45275bed4d2b3dee5">m_location</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">void</span> printIndent(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;};</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classelftosb_1_1_list_a_s_t_node.html">  107</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keyword">typedef</span> std::list&lt;<span class="comment">/*smart_ptr&lt;ASTNode&gt;*/</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *&gt; ast_list_t;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keyword">typedef</span> ast_list_t::iterator iterator;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keyword">typedef</span> ast_list_t::const_iterator const_iterator;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a>() {}</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> &amp;other);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keyword">virtual</span> ~<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a>();</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classelftosb_1_1_list_a_s_t_node.html#aeaeb451a546ed410fd2ebde93f61d952">  120</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_list_a_s_t_node.html#aeaeb451a546ed410fd2ebde93f61d952">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classelftosb_1_1_list_a_s_t_node.html#ad50edcfa2eaf75da8f979c2cc55dab20">  121</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_list_a_s_t_node.html#ad50edcfa2eaf75da8f979c2cc55dab20">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;ListASTNode&quot;</span>; }</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> appendNode(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *node);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classelftosb_1_1_list_a_s_t_node.html#a6ffdc771da7cf13eb273ec0a02ceb15a">  130</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html#a6ffdc771da7cf13eb273ec0a02ceb15a">nodeCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span><span class="keyword">&gt;</span>(m_list.size()); }</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <span class="keyword">inline</span> iterator begin() { <span class="keywordflow">return</span> m_list.begin(); }</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keyword">inline</span> iterator end() { <span class="keywordflow">return</span> m_list.end(); }</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keyword">inline</span> const_iterator begin()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_list.begin(); }</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keyword">inline</span> const_iterator end()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_list.end(); }</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateLocation();</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classelftosb_1_1_list_a_s_t_node.html#af28c6d7e48cc6e4cf5e13c0f0ec7217e">  147</a></span>&#160;    ast_list_t <a class="code" href="classelftosb_1_1_list_a_s_t_node.html#af28c6d7e48cc6e4cf5e13c0f0ec7217e">m_list</a>; </div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;};</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classelftosb_1_1_options_block_a_s_t_node.html">  153</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_options_block_a_s_t_node.html">OptionsBlockASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;{</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <a class="code" href="classelftosb_1_1_options_block_a_s_t_node.html">OptionsBlockASTNode</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *options)</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        , m_options(options)</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    {</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    }</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getOptions() { <span class="keywordflow">return</span> m_options; }</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classelftosb_1_1_options_block_a_s_t_node.html#abb0a4b4b90592f0f924fc9177e94b0c5">  163</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_options_block_a_s_t_node.html#abb0a4b4b90592f0f924fc9177e94b0c5">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NULL; }</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_options;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;};</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classelftosb_1_1_constants_block_a_s_t_node.html">  171</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_constants_block_a_s_t_node.html">ConstantsBlockASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;{</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <a class="code" href="classelftosb_1_1_constants_block_a_s_t_node.html">ConstantsBlockASTNode</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *constants)</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        , m_constants(constants)</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    {</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    }</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getConstants() { <span class="keywordflow">return</span> m_constants; }</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classelftosb_1_1_constants_block_a_s_t_node.html#a13d1ad478399f5d4ae589b6d5d63d08c">  181</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_constants_block_a_s_t_node.html#a13d1ad478399f5d4ae589b6d5d63d08c">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NULL; }</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_constants;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;};</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classelftosb_1_1_sources_block_a_s_t_node.html">  189</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_sources_block_a_s_t_node.html">SourcesBlockASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;{</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <a class="code" href="classelftosb_1_1_sources_block_a_s_t_node.html">SourcesBlockASTNode</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *sources)</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        , m_sources(sources)</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    {</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    }</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getSources() { <span class="keywordflow">return</span> m_sources; }</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classelftosb_1_1_sources_block_a_s_t_node.html#a0995fa753296aa5e982e4f3c798c6e69">  199</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_sources_block_a_s_t_node.html#a0995fa753296aa5e982e4f3c798c6e69">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NULL; }</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_sources;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;};</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keyblob_block_a_s_t_node.html">  209</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_keyblob_block_a_s_t_node.html">KeyblobBlockASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <a class="code" href="classelftosb_1_1_keyblob_block_a_s_t_node.html">KeyblobBlockASTNode</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *entries)</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        , m_entries(entries)</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        , m_keyblobNumberExpr()</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    {</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    }</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getEntries() { <span class="keywordflow">return</span> m_entries; }</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keyblob_block_a_s_t_node.html#acbec24d0140f64100467c57a5fcae4bc">  220</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_keyblob_block_a_s_t_node.html#acbec24d0140f64100467c57a5fcae4bc">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NULL; }</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setKeyblobNumberExpr(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *numExpr) { m_keyblobNumberExpr = numExpr; }</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getKeyblobNumberExpr() { <span class="keywordflow">return</span> m_keyblobNumberExpr; }</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_entries;</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keyblob_block_a_s_t_node.html#a628925661fee10758e8e5032ddae4150">  225</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> <a class="code" href="classelftosb_1_1_keyblob_block_a_s_t_node.html#a628925661fee10758e8e5032ddae4150">m_keyblobNumberExpr</a>; </div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;};</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classelftosb_1_1_expr_a_s_t_node.html">  231</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;{</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    {</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    }</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> &amp;other)</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>(other)</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    {</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    }</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classelftosb_1_1_expr_a_s_t_node.html#a7b52e761f5d3686c064644ea4554e378">  243</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html#a7b52e761f5d3686c064644ea4554e378">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;ExprASTNode&quot;</span>; }</div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="classelftosb_1_1_expr_a_s_t_node.html#a28d28e6317df4cc1088c751c72f251cb">  249</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html#a28d28e6317df4cc1088c751c72f251cb">reduce</a>(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context) { <span class="keywordflow">return</span> <span class="keyword">this</span>; }</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    int_size_t resultIntSize(int_size_t a, int_size_t b);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;};</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classelftosb_1_1_const_a_s_t_node.html">  256</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;{</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a>()</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    {</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    }</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a> &amp;other)</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>(other)</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    {</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    }</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;};</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html">  274</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html">KeyblobEntryASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a></div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;{</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    <a class="code" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html">KeyblobEntryASTNode</a>()</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        : <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a>()</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        , m_fields()</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    {</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    }</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <a class="code" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html">KeyblobEntryASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html">KeyblobEntryASTNode</a> &amp;other);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html#aeb72ada7136e5336cf790d6a45376149">  284</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html#aeb72ada7136e5336cf790d6a45376149">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html">KeyblobEntryASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html#afeba0d0004f1837ee763c64333a98cdb">  285</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html#afeba0d0004f1837ee763c64333a98cdb">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;KeyblobEntryASTNode&quot;</span>; }</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keywordtype">void</span> setFieldAssignments(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *fields) { m_fields = fields; }</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getFieldAssignments() { <span class="keywordflow">return</span> m_fields; }</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html#a9b34011fe31d965f2115beeec777872e">  292</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> <a class="code" href="classelftosb_1_1_keyblob_entry_a_s_t_node.html#a9b34011fe31d965f2115beeec777872e">m_fields</a>;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;};</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classelftosb_1_1_command_file_a_s_t_node.html">  298</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_command_file_a_s_t_node.html">CommandFileASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;{</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <a class="code" href="classelftosb_1_1_command_file_a_s_t_node.html">CommandFileASTNode</a>();</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <a class="code" href="classelftosb_1_1_command_file_a_s_t_node.html">CommandFileASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_command_file_a_s_t_node.html">CommandFileASTNode</a> &amp;other);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="classelftosb_1_1_command_file_a_s_t_node.html#ae591c0fece6ce5ffae7a1c8a8873c876">  304</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_command_file_a_s_t_node.html#ae591c0fece6ce5ffae7a1c8a8873c876">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;CommandFileASTNode&quot;</span>; }</div><div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="classelftosb_1_1_command_file_a_s_t_node.html#a72329b027cd9770c718184ac0222dcd1">  305</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_command_file_a_s_t_node.html#a72329b027cd9770c718184ac0222dcd1">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_command_file_a_s_t_node.html">CommandFileASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setBlocks(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *blocks) { m_blocks = blocks; }</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setOptions(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *options) { m_options = options; }</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setConstants(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *constants) { m_constants = constants; }</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setSources(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *sources) { m_sources = sources; }</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setSections(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *sections) { m_sections = sections; }</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getBlocks() { <span class="keywordflow">return</span> m_blocks; }</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getOptions() { <span class="keywordflow">return</span> m_options; }</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getConstants() { <span class="keywordflow">return</span> m_constants; }</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getSources() { <span class="keywordflow">return</span> m_sources; }</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getSections() { <span class="keywordflow">return</span> m_sections; }</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_blocks;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_options;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_constants;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_sources;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_sections;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;};</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="classelftosb_1_1_int_const_expr_a_s_t_node.html">  329</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_int_const_expr_a_s_t_node.html">IntConstExprASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;{</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    <a class="code" href="classelftosb_1_1_int_const_expr_a_s_t_node.html">IntConstExprASTNode</a>(uint32_t value, int_size_t size = kWordSize)</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        , m_value(value)</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;        , m_size(size)</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    {</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    }</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <a class="code" href="classelftosb_1_1_int_const_expr_a_s_t_node.html">IntConstExprASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_int_const_expr_a_s_t_node.html">IntConstExprASTNode</a> &amp;other);</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classelftosb_1_1_int_const_expr_a_s_t_node.html#a7763827d5dea1b8d0ceb7b4705798ebd">  341</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_int_const_expr_a_s_t_node.html#a7763827d5dea1b8d0ceb7b4705798ebd">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;IntConstExprASTNode&quot;</span>; }</div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classelftosb_1_1_int_const_expr_a_s_t_node.html#a16f8d1764f300c1d794b5e0985e6e208">  342</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_int_const_expr_a_s_t_node.html#a16f8d1764f300c1d794b5e0985e6e208">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_int_const_expr_a_s_t_node.html">IntConstExprASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    uint32_t getValue()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value; }</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    int_size_t getSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_size; }</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    uint32_t m_value;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    int_size_t m_size;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;};</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classelftosb_1_1_variable_expr_a_s_t_node.html">  355</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_variable_expr_a_s_t_node.html">VariableExprASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;{</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <a class="code" href="classelftosb_1_1_variable_expr_a_s_t_node.html">VariableExprASTNode</a>(std::string *name)</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        , m_variable(name)</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    {</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    }</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <a class="code" href="classelftosb_1_1_variable_expr_a_s_t_node.html">VariableExprASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_variable_expr_a_s_t_node.html">VariableExprASTNode</a> &amp;other);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <span class="keyword">inline</span> std::string *getVariableName() { <span class="keywordflow">return</span> m_variable; }</div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="classelftosb_1_1_variable_expr_a_s_t_node.html#a1060f65e31c616ea78bd37016af75ab8">  366</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_variable_expr_a_s_t_node.html#a1060f65e31c616ea78bd37016af75ab8">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_variable_expr_a_s_t_node.html">VariableExprASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classelftosb_1_1_variable_expr_a_s_t_node.html#aa976c3c22b79908178d7e42195fe46d4">  367</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_variable_expr_a_s_t_node.html#aa976c3c22b79908178d7e42195fe46d4">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;VariableExprASTNode&quot;</span>; }</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *reduce(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_variable;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;};</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html">  381</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html">SymbolRefExprASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;{</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <a class="code" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html">SymbolRefExprASTNode</a>(<a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a> *sym)</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        , m_symbol(sym)</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    {</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    }</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <a class="code" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html">SymbolRefExprASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html">SymbolRefExprASTNode</a> &amp;other);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html#a75ae5354c4738540383c91599f9ef09e">  391</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html#a75ae5354c4738540383c91599f9ef09e">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html">SymbolRefExprASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html#aebe1f01d513977d9f4c317ba1eba1023">  392</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html#aebe1f01d513977d9f4c317ba1eba1023">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SymbolRefExprASTNode&quot;</span>; }</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *reduce(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a> *m_symbol;</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;};</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classelftosb_1_1_negative_expr_a_s_t_node.html">  404</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_negative_expr_a_s_t_node.html">NegativeExprASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;{</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    <a class="code" href="classelftosb_1_1_negative_expr_a_s_t_node.html">NegativeExprASTNode</a>(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *expr)</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        , m_expr(expr)</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    {</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    }</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <a class="code" href="classelftosb_1_1_negative_expr_a_s_t_node.html">NegativeExprASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_negative_expr_a_s_t_node.html">NegativeExprASTNode</a> &amp;other);</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="classelftosb_1_1_negative_expr_a_s_t_node.html#a432fb01d70a1c4d1b15a150c6129c790">  414</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_negative_expr_a_s_t_node.html#a432fb01d70a1c4d1b15a150c6129c790">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_negative_expr_a_s_t_node.html">NegativeExprASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classelftosb_1_1_negative_expr_a_s_t_node.html#aa26bbc4bd323f379f6f366bc2d83f829">  415</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_negative_expr_a_s_t_node.html#aa26bbc4bd323f379f6f366bc2d83f829">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;NegativeExprASTNode&quot;</span>; }</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *reduce(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getExpr() { <span class="keywordflow">return</span> m_expr; }</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> m_expr;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;};</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html">  428</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html">BooleanNotExprASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;{</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <a class="code" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html">BooleanNotExprASTNode</a>(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *expr)</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;        , m_expr(expr)</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    {</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    }</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <a class="code" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html">BooleanNotExprASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html">BooleanNotExprASTNode</a> &amp;other);</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html#ac892f823ca97d3405bc6707a4578ff80">  438</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html#ac892f823ca97d3405bc6707a4578ff80">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html">BooleanNotExprASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html#af381a6c07bc9177811157ab4b8efe631">  439</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html#af381a6c07bc9177811157ab4b8efe631">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;BooleanNotExprASTNode&quot;</span>; }</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *reduce(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context);</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getExpr() { <span class="keywordflow">return</span> m_expr; }</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> m_expr;</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;};</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="classelftosb_1_1_source_file_function_a_s_t_node.html">  452</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_source_file_function_a_s_t_node.html">SourceFileFunctionASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;{</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;    <a class="code" href="classelftosb_1_1_source_file_function_a_s_t_node.html">SourceFileFunctionASTNode</a>(std::string *functionName, std::string *sourceFileName)</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        , m_functionName(functionName)</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        , m_sourceFile(sourceFileName)</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    {</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    }</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    <a class="code" href="classelftosb_1_1_source_file_function_a_s_t_node.html">SourceFileFunctionASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_source_file_function_a_s_t_node.html">SourceFileFunctionASTNode</a> &amp;other);</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classelftosb_1_1_source_file_function_a_s_t_node.html#a7475dbd6afbe594ac64d7fd66525e36b">  463</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_source_file_function_a_s_t_node.html#a7475dbd6afbe594ac64d7fd66525e36b">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_source_file_function_a_s_t_node.html">SourceFileFunctionASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="classelftosb_1_1_source_file_function_a_s_t_node.html#ae9f185f3fdf5cccfc5a5293b461b8ac2">  464</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_source_file_function_a_s_t_node.html#ae9f185f3fdf5cccfc5a5293b461b8ac2">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SourceFileFunctionASTNode&quot;</span>; }</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *reduce(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    std::string *getFunctionName() { <span class="keywordflow">return</span> m_functionName; }</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    std::string *getSourceFile() { <span class="keywordflow">return</span> m_sourceFile; }</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_functionName;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_sourceFile;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;};</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div><div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="classelftosb_1_1_defined_operator_a_s_t_node.html">  479</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_defined_operator_a_s_t_node.html">DefinedOperatorASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;{</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <a class="code" href="classelftosb_1_1_defined_operator_a_s_t_node.html">DefinedOperatorASTNode</a>(std::string *constantName)</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        , m_constantName(constantName)</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    {</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    }</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    <a class="code" href="classelftosb_1_1_defined_operator_a_s_t_node.html">DefinedOperatorASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_defined_operator_a_s_t_node.html">DefinedOperatorASTNode</a> &amp;other);</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;</div><div class="line"><a name="l00489"></a><span class="lineno"><a class="line" href="classelftosb_1_1_defined_operator_a_s_t_node.html#a9f7c36b9398813b53faa7368fc656b3c">  489</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_defined_operator_a_s_t_node.html#a9f7c36b9398813b53faa7368fc656b3c">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_defined_operator_a_s_t_node.html">DefinedOperatorASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="classelftosb_1_1_defined_operator_a_s_t_node.html#a9c5b970936a5af7beedba59f8366a5c2">  490</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_defined_operator_a_s_t_node.html#a9c5b970936a5af7beedba59f8366a5c2">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;DefinedOperatorASTNode&quot;</span>; }</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *reduce(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    std::string *getConstantName() { <span class="keywordflow">return</span> m_constantName; }</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="classelftosb_1_1_defined_operator_a_s_t_node.html#a078f6c6703fbc0c7fb2e3498afbf0f39">  497</a></span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> <a class="code" href="classelftosb_1_1_defined_operator_a_s_t_node.html#a078f6c6703fbc0c7fb2e3498afbf0f39">m_constantName</a>; </div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;};</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a>;</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html">  505</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html">SizeofOperatorASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;{</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html">SizeofOperatorASTNode</a>(std::string *constantName)</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;        , m_constantName(constantName)</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        , m_symbol()</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    {</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    }</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html">SizeofOperatorASTNode</a>(<a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a> *symbol)</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;        , m_constantName()</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        , m_symbol(symbol)</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    {</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    }</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html">SizeofOperatorASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html">SizeofOperatorASTNode</a> &amp;other);</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;</div><div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#af1c56af50ce1e9491bc5bcdd10be4f17">  522</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#af1c56af50ce1e9491bc5bcdd10be4f17">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html">SizeofOperatorASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#ab8cd9e7d21c396ad08064bd510b4647c">  523</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#ab8cd9e7d21c396ad08064bd510b4647c">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SizeofOperatorASTNode&quot;</span>; }</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *reduce(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context);</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;    std::string *getConstantName() { <span class="keywordflow">return</span> m_constantName; }</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;    <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a> *getSymbol() { <span class="keywordflow">return</span> m_symbol; }</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#a890287e33e2b316d03d8838b53bc0395">  531</a></span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> <a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#a890287e33e2b316d03d8838b53bc0395">m_constantName</a>; </div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;SymbolASTNode&gt;</a></div><div class="line"><a name="l00533"></a><span class="lineno"><a class="line" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#a270cb3d7e52dd6c29467b79f6945c99b">  533</a></span>&#160;        <a class="code" href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#a270cb3d7e52dd6c29467b79f6945c99b">m_symbol</a>; </div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;};</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;</div><div class="line"><a name="l00539"></a><span class="lineno"><a class="line" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html">  539</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html">BinaryOpExprASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;{</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    <span class="keyword">enum</span> operator_t</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    {</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;        kAdd,</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;        kSubtract,</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        kMultiply,</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;        kDivide,</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;        kModulus,</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;        kPower,</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        kBitwiseAnd,</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;        kBitwiseOr,</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;        kBitwiseXor,</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        kShiftLeft,</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;        kShiftRight,</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;        kLessThan,</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        kGreaterThan,</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;        kLessThanEqual,</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        kGreaterThanEqual,</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        kEqual,</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;        kNotEqual,</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;        kBooleanAnd,</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;        kBooleanOr</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    };</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    <a class="code" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html">BinaryOpExprASTNode</a>(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *left, operator_t op, <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *right)</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;        , m_left(left)</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;        , m_op(op)</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;        , m_right(right)</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;    {</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    }</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <a class="code" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html">BinaryOpExprASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html">BinaryOpExprASTNode</a> &amp;other);</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html#a12311ca940a22d12566b5f935e9152af">  575</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html#a12311ca940a22d12566b5f935e9152af">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html">BinaryOpExprASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html#a674787030599a3588138bdfe4516f8d3">  576</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_binary_op_expr_a_s_t_node.html#a674787030599a3588138bdfe4516f8d3">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;BinaryOpExprASTNode&quot;</span>; }</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *reduce(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context);</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getLeftExpr() { <span class="keywordflow">return</span> m_left; }</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getRightExpr() { <span class="keywordflow">return</span> m_right; }</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    operator_t getOp()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_op; }</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> m_left;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> m_right;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    operator_t m_op;</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    std::string getOperatorName() <span class="keyword">const</span>;</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;};</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="classelftosb_1_1_int_size_expr_a_s_t_node.html">  595</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_int_size_expr_a_s_t_node.html">IntSizeExprASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a></div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;{</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    <a class="code" href="classelftosb_1_1_int_size_expr_a_s_t_node.html">IntSizeExprASTNode</a>(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *expr, int_size_t intSize)</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;        : <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a>()</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;        , m_expr(expr)</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;        , m_size(intSize)</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    {</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    }</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    <a class="code" href="classelftosb_1_1_int_size_expr_a_s_t_node.html">IntSizeExprASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_int_size_expr_a_s_t_node.html">IntSizeExprASTNode</a> &amp;other);</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="classelftosb_1_1_int_size_expr_a_s_t_node.html#aaad5ae529a1f05f5b11888ce4918c29a">  606</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_int_size_expr_a_s_t_node.html#aaad5ae529a1f05f5b11888ce4918c29a">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_int_size_expr_a_s_t_node.html">IntSizeExprASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="classelftosb_1_1_int_size_expr_a_s_t_node.html#ad56179bedeff885ef3a7f2a1993e4b5e">  607</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_int_size_expr_a_s_t_node.html#ad56179bedeff885ef3a7f2a1993e4b5e">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;IntSizeExprASTNode&quot;</span>; }</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *reduce(<a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;context);</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getExpr() { <span class="keywordflow">return</span> m_expr; }</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;    int_size_t getIntSize() { <span class="keywordflow">return</span> m_size; }</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> m_expr;</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    int_size_t m_size;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;};</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno"><a class="line" href="classelftosb_1_1_expr_const_a_s_t_node.html">  622</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_expr_const_a_s_t_node.html">ExprConstASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a></div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;{</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <a class="code" href="classelftosb_1_1_expr_const_a_s_t_node.html">ExprConstASTNode</a>(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *expr)</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        : <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a>()</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        , m_expr(expr)</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;    {</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;    }</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    <a class="code" href="classelftosb_1_1_expr_const_a_s_t_node.html">ExprConstASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_expr_const_a_s_t_node.html">ExprConstASTNode</a> &amp;other);</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;</div><div class="line"><a name="l00632"></a><span class="lineno"><a class="line" href="classelftosb_1_1_expr_const_a_s_t_node.html#a12468d323a529a77f58b316d99de48cc">  632</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_expr_const_a_s_t_node.html#a12468d323a529a77f58b316d99de48cc">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_expr_const_a_s_t_node.html">ExprConstASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classelftosb_1_1_expr_const_a_s_t_node.html#a9a22098973b76d4991fbd0da7b8bbd20">  633</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_expr_const_a_s_t_node.html#a9a22098973b76d4991fbd0da7b8bbd20">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;ExprConstASTNode&quot;</span>; }</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getExpr() { <span class="keywordflow">return</span> m_expr; }</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> m_expr;</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;};</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;</div><div class="line"><a name="l00644"></a><span class="lineno"><a class="line" href="classelftosb_1_1_string_const_a_s_t_node.html">  644</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_string_const_a_s_t_node.html">StringConstASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a></div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;{</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <a class="code" href="classelftosb_1_1_string_const_a_s_t_node.html">StringConstASTNode</a>(std::string *value)</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;        : <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a>()</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;        , m_value(value)</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;    {</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    }</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;    <a class="code" href="classelftosb_1_1_string_const_a_s_t_node.html">StringConstASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_string_const_a_s_t_node.html">StringConstASTNode</a> &amp;other);</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;</div><div class="line"><a name="l00654"></a><span class="lineno"><a class="line" href="classelftosb_1_1_string_const_a_s_t_node.html#a379d44b53d8556f65130ba758bef1d42">  654</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_string_const_a_s_t_node.html#a379d44b53d8556f65130ba758bef1d42">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_string_const_a_s_t_node.html">StringConstASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="classelftosb_1_1_string_const_a_s_t_node.html#aee62f9266afabece951e1a41acdbffd2">  655</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_string_const_a_s_t_node.html#aee62f9266afabece951e1a41acdbffd2">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;StringConstASTNode&quot;</span>; }</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    std::string *getString() { <span class="keywordflow">return</span> m_value; }</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_value;</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;};</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno"><a class="line" href="classelftosb_1_1_blob_const_a_s_t_node.html">  666</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_blob_const_a_s_t_node.html">BlobConstASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a></div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;{</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    <a class="code" href="classelftosb_1_1_blob_const_a_s_t_node.html">BlobConstASTNode</a>(<a class="code" href="class_blob.html">Blob</a> *value)</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;        : <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a>()</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;        , m_blob(value)</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    {</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;    }</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;    <a class="code" href="classelftosb_1_1_blob_const_a_s_t_node.html">BlobConstASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_blob_const_a_s_t_node.html">BlobConstASTNode</a> &amp;other);</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;</div><div class="line"><a name="l00676"></a><span class="lineno"><a class="line" href="classelftosb_1_1_blob_const_a_s_t_node.html#a5052624cf1802f812c45a37d2432556c">  676</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_blob_const_a_s_t_node.html#a5052624cf1802f812c45a37d2432556c">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_blob_const_a_s_t_node.html">BlobConstASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00677"></a><span class="lineno"><a class="line" href="classelftosb_1_1_blob_const_a_s_t_node.html#af7f6f782541d1cb03284689bad2d49c1">  677</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_blob_const_a_s_t_node.html#af7f6f782541d1cb03284689bad2d49c1">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;BlobConstASTNode&quot;</span>; }</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;    <a class="code" href="class_blob.html">Blob</a> *getBlob() { <span class="keywordflow">return</span> m_blob; }</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;Blob&gt;</a> m_blob;</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;};</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;<span class="comment">// Forward declaration.</span></div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;<span class="keyword">struct </span><a class="code" href="structhab__ivt.html">hab_ivt</a>;</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;</div><div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html">  691</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html">IVTConstASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a></div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;{</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;    <a class="code" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html">IVTConstASTNode</a>()</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;        : <a class="code" href="classelftosb_1_1_const_a_s_t_node.html">ConstASTNode</a>()</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;        , m_fields()</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;    {</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    }</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    <a class="code" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html">IVTConstASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html">IVTConstASTNode</a> &amp;other);</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;</div><div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html#a66f8c258233c481c9424c369743a37e2">  701</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html#a66f8c258233c481c9424c369743a37e2">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html">IVTConstASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00702"></a><span class="lineno"><a class="line" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html#a2fda1e49f688c49d8309f4d15c3c5eff">  702</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html#a2fda1e49f688c49d8309f4d15c3c5eff">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;IVTConstASTNode&quot;</span>; }</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    <span class="keywordtype">void</span> setFieldAssignments(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *fields) { m_fields = fields; }</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;    <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getFieldAssignments() { <span class="keywordflow">return</span> m_fields; }</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00709"></a><span class="lineno"><a class="line" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html#abbf5cdb5f1357ce535f284e2125cb858">  709</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> <a class="code" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html#abbf5cdb5f1357ce535f284e2125cb858">m_fields</a>;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;};</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="classelftosb_1_1_assignment_a_s_t_node.html">  715</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_assignment_a_s_t_node.html">AssignmentASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;{</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    <a class="code" href="classelftosb_1_1_assignment_a_s_t_node.html">AssignmentASTNode</a>(std::string *ident, <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *value)</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;        , m_ident(ident)</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;        , m_value(value)</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;    {</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    }</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;    <a class="code" href="classelftosb_1_1_assignment_a_s_t_node.html">AssignmentASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_assignment_a_s_t_node.html">AssignmentASTNode</a> &amp;other);</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno"><a class="line" href="classelftosb_1_1_assignment_a_s_t_node.html#ae3fa67eb6f44d345f96b350b50a89589">  727</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_assignment_a_s_t_node.html#ae3fa67eb6f44d345f96b350b50a89589">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_assignment_a_s_t_node.html">AssignmentASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00728"></a><span class="lineno"><a class="line" href="classelftosb_1_1_assignment_a_s_t_node.html#a915e3332e9b6c4c75c9cce4bdcd76d17">  728</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_assignment_a_s_t_node.html#a915e3332e9b6c4c75c9cce4bdcd76d17">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;AssignmentASTNode&quot;</span>; }</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;    <span class="keyword">inline</span> std::string *getIdent() { <span class="keywordflow">return</span> m_ident; }</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getValue() { <span class="keywordflow">return</span> m_value; }</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_ident;</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> m_value;</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;};</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;</div><div class="line"><a name="l00741"></a><span class="lineno"><a class="line" href="classelftosb_1_1_source_def_a_s_t_node.html">  741</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_source_def_a_s_t_node.html">SourceDefASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;{</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <a class="code" href="classelftosb_1_1_source_def_a_s_t_node.html">SourceDefASTNode</a>(std::string *name)</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        : m_name(name)</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;    {</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;    }</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;    <a class="code" href="classelftosb_1_1_source_def_a_s_t_node.html">SourceDefASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_source_def_a_s_t_node.html">SourceDefASTNode</a> &amp;other);</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;    <span class="keyword">inline</span> std::string *getName() { <span class="keywordflow">return</span> m_name; }</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setAttributes(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *attributes) { m_attributes = attributes; }</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getAttributes() { <span class="keywordflow">return</span> m_attributes; }</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_name;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_attributes;</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;};</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;</div><div class="line"><a name="l00761"></a><span class="lineno"><a class="line" href="classelftosb_1_1_path_source_def_a_s_t_node.html">  761</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_path_source_def_a_s_t_node.html">PathSourceDefASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_source_def_a_s_t_node.html">SourceDefASTNode</a></div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;{</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    <a class="code" href="classelftosb_1_1_path_source_def_a_s_t_node.html">PathSourceDefASTNode</a>(std::string *name, std::string *path)</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;        : <a class="code" href="classelftosb_1_1_source_def_a_s_t_node.html">SourceDefASTNode</a>(name)</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;        , m_path(path)</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;    {</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;    }</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;    <a class="code" href="classelftosb_1_1_path_source_def_a_s_t_node.html">PathSourceDefASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_path_source_def_a_s_t_node.html">PathSourceDefASTNode</a> &amp;other);</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;</div><div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="classelftosb_1_1_path_source_def_a_s_t_node.html#a0eb94788a06d3a7f59f3dc3d3f4e2c0b">  772</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_path_source_def_a_s_t_node.html">PathSourceDefASTNode</a> *<a class="code" href="classelftosb_1_1_path_source_def_a_s_t_node.html#a0eb94788a06d3a7f59f3dc3d3f4e2c0b">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_path_source_def_a_s_t_node.html">PathSourceDefASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00773"></a><span class="lineno"><a class="line" href="classelftosb_1_1_path_source_def_a_s_t_node.html#a60bb2ee37a8b1067e86ad676b8a9b868">  773</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_path_source_def_a_s_t_node.html#a60bb2ee37a8b1067e86ad676b8a9b868">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;PathSourceDefASTNode&quot;</span>; }</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    std::string *getPath() { <span class="keywordflow">return</span> m_path; }</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_path;</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;};</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;</div><div class="line"><a name="l00784"></a><span class="lineno"><a class="line" href="classelftosb_1_1_extern_source_def_a_s_t_node.html">  784</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_extern_source_def_a_s_t_node.html">ExternSourceDefASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_source_def_a_s_t_node.html">SourceDefASTNode</a></div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;{</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;    <a class="code" href="classelftosb_1_1_extern_source_def_a_s_t_node.html">ExternSourceDefASTNode</a>(std::string *name, <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *expr)</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;        : <a class="code" href="classelftosb_1_1_source_def_a_s_t_node.html">SourceDefASTNode</a>(name)</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;        , m_expr(expr)</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;    {</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;    }</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;    <a class="code" href="classelftosb_1_1_extern_source_def_a_s_t_node.html">ExternSourceDefASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_extern_source_def_a_s_t_node.html">ExternSourceDefASTNode</a> &amp;other);</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;</div><div class="line"><a name="l00795"></a><span class="lineno"><a class="line" href="classelftosb_1_1_extern_source_def_a_s_t_node.html#a944b8944dd566be38919815724b7ccc7">  795</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_extern_source_def_a_s_t_node.html#a944b8944dd566be38919815724b7ccc7">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_extern_source_def_a_s_t_node.html">ExternSourceDefASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00796"></a><span class="lineno"><a class="line" href="classelftosb_1_1_extern_source_def_a_s_t_node.html#a5899af21a2d85ad29187d6bf48dc9c4e">  796</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_extern_source_def_a_s_t_node.html#a5899af21a2d85ad29187d6bf48dc9c4e">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;ExternSourceDefASTNode&quot;</span>; }</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getSourceNumberExpr() { <span class="keywordflow">return</span> m_expr; }</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> m_expr;</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;};</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;</div><div class="line"><a name="l00807"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_contents_a_s_t_node.html">  807</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;{</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;    <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a>()</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;        : m_sectionExpr()</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    {</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;    }</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;    <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a>(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *section)</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;        : m_sectionExpr(section)</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;    {</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;    }</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;    <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a> &amp;other);</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_contents_a_s_t_node.html#a9699b515607ff9c1cc51237872fbe601">  820</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html#a9699b515607ff9c1cc51237872fbe601">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00821"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_contents_a_s_t_node.html#adac4e450642662e42261a4780b3a3b98">  821</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html#adac4e450642662e42261a4780b3a3b98">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SectionContentsASTNode&quot;</span>; }</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setSectionNumberExpr(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *section) { m_sectionExpr = section; }</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getSectionNumberExpr() { <span class="keywordflow">return</span> m_sectionExpr; }</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setOptions(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *options) { m_options = options; }</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getOptions() { <span class="keywordflow">return</span> m_options; }</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> m_sectionExpr;</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_options;</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;};</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;</div><div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="classelftosb_1_1_data_section_contents_a_s_t_node.html">  836</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_data_section_contents_a_s_t_node.html">DataSectionContentsASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a></div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;{</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <a class="code" href="classelftosb_1_1_data_section_contents_a_s_t_node.html">DataSectionContentsASTNode</a>(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *contents)</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;        : <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a>()</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        , m_contents(contents)</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    {</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;    }</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;    <a class="code" href="classelftosb_1_1_data_section_contents_a_s_t_node.html">DataSectionContentsASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_data_section_contents_a_s_t_node.html">DataSectionContentsASTNode</a> &amp;other);</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;</div><div class="line"><a name="l00847"></a><span class="lineno"><a class="line" href="classelftosb_1_1_data_section_contents_a_s_t_node.html#a0cf5a60e2cefb9386d3f0d514b9239e1">  847</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_data_section_contents_a_s_t_node.html#a0cf5a60e2cefb9386d3f0d514b9239e1">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_data_section_contents_a_s_t_node.html">DataSectionContentsASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00848"></a><span class="lineno"><a class="line" href="classelftosb_1_1_data_section_contents_a_s_t_node.html#a45220e1759fab68900450c68140228fe">  848</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_data_section_contents_a_s_t_node.html#a45220e1759fab68900450c68140228fe">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;DataSectionContentsASTNode&quot;</span>; }</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;    <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getContents() { <span class="keywordflow">return</span> m_contents; }</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> m_contents;</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;};</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;</div><div class="line"><a name="l00859"></a><span class="lineno"><a class="line" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html">  859</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html">BootableSectionContentsASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a></div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;{</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    <a class="code" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html">BootableSectionContentsASTNode</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements)</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;        : <a class="code" href="classelftosb_1_1_section_contents_a_s_t_node.html">SectionContentsASTNode</a>()</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;        , m_statements(statements)</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;    {</div><div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;    }</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;    <a class="code" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html">BootableSectionContentsASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html">BootableSectionContentsASTNode</a> &amp;other);</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;</div><div class="line"><a name="l00870"></a><span class="lineno"><a class="line" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html#a7917cd4e7a0d2fee889330627e042384">  870</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html#a7917cd4e7a0d2fee889330627e042384">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html">BootableSectionContentsASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00871"></a><span class="lineno"><a class="line" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html#af5484924cf2057cfd6f4ac62b9ce213e">  871</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html#af5484924cf2057cfd6f4ac62b9ce213e">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;BootableSectionContentsASTNode&quot;</span>; }</div><div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;    <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getStatements() { <span class="keywordflow">return</span> m_statements; }</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_statements;</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;};</div><div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;</div><div class="line"><a name="l00882"></a><span class="lineno"><a class="line" href="classelftosb_1_1_statement_a_s_t_node.html">  882</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;{</div><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;    <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;    {</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;    }</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;    <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a> &amp;other)</div><div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>(other)</div><div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;    {</div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;    }</div><div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;</div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;};</div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;</div><div class="line"><a name="l00900"></a><span class="lineno"><a class="line" href="classelftosb_1_1_if_statement_a_s_t_node.html">  900</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html">IfStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;{</div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html">IfStatementASTNode</a>()</div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;        , m_ifStatements()</div><div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;        , m_nextIf()</div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;        , m_elseStatements()</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;    {</div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;    }</div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;    <a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html">IfStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html">IfStatementASTNode</a> &amp;other);</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;</div><div class="line"><a name="l00912"></a><span class="lineno"><a class="line" href="classelftosb_1_1_if_statement_a_s_t_node.html#a6cea9db74e5f47d92c2d3e881d95181a">  912</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html#a6cea9db74e5f47d92c2d3e881d95181a">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html">IfStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;    <span class="keywordtype">void</span> setConditionExpr(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *expr) { m_conditionExpr = expr; }</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;    <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getConditionExpr() { <span class="keywordflow">return</span> m_conditionExpr; }</div><div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;    <span class="keywordtype">void</span> setIfStatements(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements) { m_ifStatements = statements; }</div><div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;    <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getIfStatements() { <span class="keywordflow">return</span> m_ifStatements; }</div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    <span class="keywordtype">void</span> setNextIf(<a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html">IfStatementASTNode</a> *nextIf) { m_nextIf = nextIf; }</div><div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;    <a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html">IfStatementASTNode</a> *getNextIf() { <span class="keywordflow">return</span> m_nextIf; }</div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;    <span class="keywordtype">void</span> setElseStatements(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements) { m_elseStatements = statements; }</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;    <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getElseStatements() { <span class="keywordflow">return</span> m_elseStatements; }</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00922"></a><span class="lineno"><a class="line" href="classelftosb_1_1_if_statement_a_s_t_node.html#afc2ebd618ff4b5cd97e924626bc08666">  922</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> <a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html#afc2ebd618ff4b5cd97e924626bc08666">m_conditionExpr</a>; </div><div class="line"><a name="l00923"></a><span class="lineno"><a class="line" href="classelftosb_1_1_if_statement_a_s_t_node.html#a1206dbd604e54d74bcc9d7fef8a7f615">  923</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> <a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html#a1206dbd604e54d74bcc9d7fef8a7f615">m_ifStatements</a>;  </div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;IfStatementASTNode&gt;</a></div><div class="line"><a name="l00925"></a><span class="lineno"><a class="line" href="classelftosb_1_1_if_statement_a_s_t_node.html#a1bc89698cd19ec7242c1b3ba897722fb">  925</a></span>&#160;        <a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html#a1bc89698cd19ec7242c1b3ba897722fb">m_nextIf</a>; </div><div class="line"><a name="l00926"></a><span class="lineno"><a class="line" href="classelftosb_1_1_if_statement_a_s_t_node.html#a13cc8a941591e31c2350e2ad459f2cf6">  926</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> <a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html#a13cc8a941591e31c2350e2ad459f2cf6">m_elseStatements</a>; </div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;};</div><div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;</div><div class="line"><a name="l00932"></a><span class="lineno"><a class="line" href="classelftosb_1_1_mode_statement_a_s_t_node.html">  932</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html">ModeStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;{</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;    <a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html">ModeStatementASTNode</a>()</div><div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;        , m_modeExpr()</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;    {</div><div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;    }</div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;    <a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html">ModeStatementASTNode</a>(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *modeExpr)</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;        , m_modeExpr(modeExpr)</div><div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;    {</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;    }</div><div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;    <a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html">ModeStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html">ModeStatementASTNode</a> &amp;other);</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;</div><div class="line"><a name="l00947"></a><span class="lineno"><a class="line" href="classelftosb_1_1_mode_statement_a_s_t_node.html#a70ab4727061cba6f4b26ff0439962d6b">  947</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html#a70ab4727061cba6f4b26ff0439962d6b">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html">ModeStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00948"></a><span class="lineno"><a class="line" href="classelftosb_1_1_mode_statement_a_s_t_node.html#ae4265a5a5f14823f64ab6ef299dd5e5c">  948</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html#ae4265a5a5f14823f64ab6ef299dd5e5c">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;ModeStatementASTNode&quot;</span>; }</div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;</div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setModeExpr(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *modeExpr) { m_modeExpr = modeExpr; }</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getModeExpr() { <span class="keywordflow">return</span> m_modeExpr; }</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00954"></a><span class="lineno"><a class="line" href="classelftosb_1_1_mode_statement_a_s_t_node.html#af849136e8b6d1e0dfbe7d3154b460095">  954</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> <a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html#af849136e8b6d1e0dfbe7d3154b460095">m_modeExpr</a>; </div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;};</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;</div><div class="line"><a name="l00960"></a><span class="lineno"><a class="line" href="classelftosb_1_1_erase_statement_a_s_t_node.html">  960</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html">EraseStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;{</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;    <a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html">EraseStatementASTNode</a>()</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;        , m_doEraseAll(<span class="keyword">false</span>)</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;        , m_doEraseAllUnsecure(<span class="keyword">false</span>)</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;        , m_memOption()</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        , m_rangeExpr()</div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;    {</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;    }</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;    <a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html">EraseStatementASTNode</a>(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *rangeExpr)</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;        , m_doEraseAll(<span class="keyword">false</span>)</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;        , m_doEraseAllUnsecure(<span class="keyword">false</span>)</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;        , m_memOption()</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;        , m_rangeExpr(rangeExpr)</div><div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;    {</div><div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;    }</div><div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;    <a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html">EraseStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html">EraseStatementASTNode</a> &amp;other);</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;</div><div class="line"><a name="l00981"></a><span class="lineno"><a class="line" href="classelftosb_1_1_erase_statement_a_s_t_node.html#aa795157fb2562b89b34b912b4b733c30">  981</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html#aa795157fb2562b89b34b912b4b733c30">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html">EraseStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l00982"></a><span class="lineno"><a class="line" href="classelftosb_1_1_erase_statement_a_s_t_node.html#a807432b25cd5e2acc348fb1b868319d1">  982</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html#a807432b25cd5e2acc348fb1b868319d1">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;EraseStatementASTNode&quot;</span>; }</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;</div><div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    <span class="keywordtype">void</span> setEraseAll(<span class="keywordtype">bool</span> doIt) { m_doEraseAll = doIt; }</div><div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;    <span class="keywordtype">bool</span> getEraseAll()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_doEraseAll; }</div><div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;    <span class="keywordtype">void</span> setEraseAllUnsecure(<span class="keywordtype">bool</span> doIt) { m_doEraseAllUnsecure = doIt; }</div><div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;    <span class="keywordtype">bool</span> getEraseAllUnsecure()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_doEraseAllUnsecure; }</div><div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setRangeExpr(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *rangeExpr) { m_rangeExpr = rangeExpr; }</div><div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getRangeExpr() { <span class="keywordflow">return</span> m_rangeExpr; }</div><div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setMemOption(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *memOpt) { m_memOption = memOpt; }</div><div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getMemOption() { <span class="keywordflow">return</span> m_memOption; }</div><div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;    <span class="keywordtype">bool</span> m_doEraseAll;</div><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;    <span class="keywordtype">bool</span> m_doEraseAllUnsecure;</div><div class="line"><a name="l00996"></a><span class="lineno"><a class="line" href="classelftosb_1_1_erase_statement_a_s_t_node.html#ad38ef42a4ae5f77ef78de03ebfd6476e">  996</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> <a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html#ad38ef42a4ae5f77ef78de03ebfd6476e">m_rangeExpr</a>; </div><div class="line"><a name="l00997"></a><span class="lineno"><a class="line" href="classelftosb_1_1_erase_statement_a_s_t_node.html#a023c72003ec9826003ba3877385612c5">  997</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> <a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html#a023c72003ec9826003ba3877385612c5">m_memOption</a>; </div><div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;};</div><div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;</div><div class="line"><a name="l01003"></a><span class="lineno"><a class="line" href="classelftosb_1_1_message_statement_a_s_t_node.html"> 1003</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html">MessageStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;{</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01006"></a><span class="lineno"><a class="line" href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4c"> 1006</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4c">_message_type</a></div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;    {</div><div class="line"><a name="l01008"></a><span class="lineno"><a class="line" href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4cafccdcc7bf056213c441d86f0a20fdd00"> 1008</a></span>&#160;        <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4cafccdcc7bf056213c441d86f0a20fdd00">kInfo</a>,    </div><div class="line"><a name="l01009"></a><span class="lineno"><a class="line" href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4ca500242382432b76a231ebf5878a30a67"> 1009</a></span>&#160;        <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4ca500242382432b76a231ebf5878a30a67">kWarning</a>, </div><div class="line"><a name="l01010"></a><span class="lineno"><a class="line" href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4cacd7411c4b186cfe0af3285b76e0961b0"> 1010</a></span>&#160;        kError    </div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;    };</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4c">_message_type</a> message_type_t;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;    <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html">MessageStatementASTNode</a>(message_type_t messageType, std::string *message)</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;        , m_type(messageType)</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;        , m_message(message)</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;    {</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;    }</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;    <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html">MessageStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html">MessageStatementASTNode</a> &amp;other);</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;</div><div class="line"><a name="l01024"></a><span class="lineno"><a class="line" href="classelftosb_1_1_message_statement_a_s_t_node.html#a3b9e9116d06949a22db97fd1fce638c0"> 1024</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html#a3b9e9116d06949a22db97fd1fce638c0">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html">MessageStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01025"></a><span class="lineno"><a class="line" href="classelftosb_1_1_message_statement_a_s_t_node.html#a47def147d87b3873b379b27c4039fda0"> 1025</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html#a47def147d87b3873b379b27c4039fda0">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;MessageStatementASTNode&quot;</span>; }</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;    <span class="keyword">inline</span> message_type_t getType() { <span class="keywordflow">return</span> m_type; }</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;    <span class="keyword">inline</span> std::string *getMessage() { <span class="keywordflow">return</span> m_message; }</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *getTypeName() <span class="keyword">const</span>;</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;    message_type_t m_type;</div><div class="line"><a name="l01034"></a><span class="lineno"><a class="line" href="classelftosb_1_1_message_statement_a_s_t_node.html#aa959c6d6ef279418e8801b0ec820a269"> 1034</a></span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> <a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html#aa959c6d6ef279418e8801b0ec820a269">m_message</a>; </div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;};</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;</div><div class="line"><a name="l01040"></a><span class="lineno"><a class="line" href="classelftosb_1_1_load_statement_a_s_t_node.html"> 1040</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html">LoadStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;{</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;    <a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html">LoadStatementASTNode</a>()</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;        , m_data()</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;        , m_target()</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;        , m_loadOption()</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;    {</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;    }</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;    <a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html">LoadStatementASTNode</a>(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *data, <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *target)</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;        , m_data(data)</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;        , m_target()</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;        , m_loadOption()</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;    {</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;    }</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;    <a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html">LoadStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html">LoadStatementASTNode</a> &amp;other);</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;</div><div class="line"><a name="l01061"></a><span class="lineno"><a class="line" href="classelftosb_1_1_load_statement_a_s_t_node.html#a281768bbc45d48c745c872a077b0cd13"> 1061</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html#a281768bbc45d48c745c872a077b0cd13">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html">LoadStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01062"></a><span class="lineno"><a class="line" href="classelftosb_1_1_load_statement_a_s_t_node.html#a7c3277c22aa04ced879d394a9ca8c950"> 1062</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html#a7c3277c22aa04ced879d394a9ca8c950">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;LoadStatementASTNode&quot;</span>; }</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setData(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *data) { m_data = data; }</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getData() { <span class="keywordflow">return</span> m_data; }</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setTarget(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *target) { m_target = target; }</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getTarget() { <span class="keywordflow">return</span> m_target; }</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setLoadOption(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *memOpt) { m_loadOption = memOpt; }</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getLoadOption() { <span class="keywordflow">return</span> m_loadOption; }</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> m_data;</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> m_target;</div><div class="line"><a name="l01074"></a><span class="lineno"><a class="line" href="classelftosb_1_1_load_statement_a_s_t_node.html#ad0febb72d9b239e05f8368697e06b257"> 1074</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> <a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html#ad0febb72d9b239e05f8368697e06b257">m_loadOption</a>; </div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;};</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;</div><div class="line"><a name="l01080"></a><span class="lineno"><a class="line" href="classelftosb_1_1_call_statement_a_s_t_node.html"> 1080</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html">CallStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;{</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01084"></a><span class="lineno"><a class="line" href="classelftosb_1_1_call_statement_a_s_t_node.html#a4a46d3bb3273ca656d1083165437613c"> 1084</a></span>&#160;    <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;    {</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;        kCallType,</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;        kJumpType</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;    } <a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html#a4a46d3bb3273ca656d1083165437613c">call_type_t</a>;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;    <a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html">CallStatementASTNode</a>(call_type_t callType = kCallType)</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;        , m_type(callType)</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;        , m_target()</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;        , m_arg()</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;        , m_isHAB(<span class="keyword">false</span>)</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;        , m_stackPointer()</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;    {</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;    }</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;    <a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html">CallStatementASTNode</a>(call_type_t callType, <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *target, <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *arg, <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *sp)</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;        , m_type(callType)</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;        , m_target(target)</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;        , m_arg(arg)</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;        , m_isHAB(<span class="keyword">false</span>)</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;        , m_stackPointer(sp)</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;    {</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;    }</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;    <a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html">CallStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html">CallStatementASTNode</a> &amp;other);</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;</div><div class="line"><a name="l01113"></a><span class="lineno"><a class="line" href="classelftosb_1_1_call_statement_a_s_t_node.html#adab47d045f56ba13a379f759a3bf54d7"> 1113</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html#adab47d045f56ba13a379f759a3bf54d7">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html">CallStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01114"></a><span class="lineno"><a class="line" href="classelftosb_1_1_call_statement_a_s_t_node.html#a61ba7319c6b9baf547d6a63d572a2a13"> 1114</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html#a61ba7319c6b9baf547d6a63d572a2a13">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;CallStatementASTNode&quot;</span>; }</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setCallType(call_type_t callType) { m_type = callType; }</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;    <span class="keyword">inline</span> call_type_t getCallType() { <span class="keywordflow">return</span> m_type; }</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setTarget(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *target) { m_target = target; }</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getTarget() { <span class="keywordflow">return</span> m_target; }</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setArgument(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *arg) { m_arg = arg; }</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getArgument() { <span class="keywordflow">return</span> m_arg; }</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setIsHAB(<span class="keywordtype">bool</span> isHAB) { m_isHAB = isHAB; }</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> isHAB()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_isHAB; }</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setStackPointer(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *arg) { m_stackPointer = arg; }</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getStackPointer() { <span class="keywordflow">return</span> m_stackPointer; }</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;    call_type_t m_type;</div><div class="line"><a name="l01129"></a><span class="lineno"><a class="line" href="classelftosb_1_1_call_statement_a_s_t_node.html#a51ce888a848bc56fcb537895083e53eb"> 1129</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> <a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html#a51ce888a848bc56fcb537895083e53eb">m_target</a>; </div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> m_arg;</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> m_stackPointer; </div><div class="line"><a name="l01132"></a><span class="lineno"><a class="line" href="classelftosb_1_1_call_statement_a_s_t_node.html#aed3e7084687ffbbb36f85bddd0f0ecfe"> 1132</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html#aed3e7084687ffbbb36f85bddd0f0ecfe">m_isHAB</a>;</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;};</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;</div><div class="line"><a name="l01138"></a><span class="lineno"><a class="line" href="classelftosb_1_1_reset_statement_a_s_t_node.html"> 1138</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_reset_statement_a_s_t_node.html">ResetStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;{</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;    <a class="code" href="classelftosb_1_1_reset_statement_a_s_t_node.html">ResetStatementASTNode</a>()</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;    {</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;    }</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;    <a class="code" href="classelftosb_1_1_reset_statement_a_s_t_node.html">ResetStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_reset_statement_a_s_t_node.html">ResetStatementASTNode</a> &amp;other)</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>(other)</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;    {</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;    }</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;</div><div class="line"><a name="l01150"></a><span class="lineno"><a class="line" href="classelftosb_1_1_reset_statement_a_s_t_node.html#a9c17b94ecb8f6b5a223fafd98ddcbeb7"> 1150</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_reset_statement_a_s_t_node.html#a9c17b94ecb8f6b5a223fafd98ddcbeb7">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_reset_statement_a_s_t_node.html">ResetStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01151"></a><span class="lineno"><a class="line" href="classelftosb_1_1_reset_statement_a_s_t_node.html#a0882627acc35e592c56782a8038131d2"> 1151</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_reset_statement_a_s_t_node.html#a0882627acc35e592c56782a8038131d2">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;ResetStatementASTNode&quot;</span>; }</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;};</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;</div><div class="line"><a name="l01160"></a><span class="lineno"><a class="line" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html"> 1160</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html">MemEnableStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;{</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;    <a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html">MemEnableStatementASTNode</a>()</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;        , m_memOption()</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;        , m_rangeExpr()</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;    {</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;    }</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;    <a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html">MemEnableStatementASTNode</a>(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *rangeExpr)</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;        , m_memOption()</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;        , m_rangeExpr(rangeExpr)</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;    {</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;    }</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;    <a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html">MemEnableStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html">MemEnableStatementASTNode</a> &amp;other);</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;</div><div class="line"><a name="l01177"></a><span class="lineno"><a class="line" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#a8710c231c56fa044ea5df2dee772fdc7"> 1177</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#a8710c231c56fa044ea5df2dee772fdc7">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html">MemEnableStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01178"></a><span class="lineno"><a class="line" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#a38cd8861e20ebfd480ec1c9dd1c5b023"> 1178</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#a38cd8861e20ebfd480ec1c9dd1c5b023">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;MemEnableStatementASTNode&quot;</span>; }</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setRangeExpr(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *rangeExpr) { m_rangeExpr = rangeExpr; }</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getRangeExpr() { <span class="keywordflow">return</span> m_rangeExpr; }</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setMemOption(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *memOpt) { m_memOption = memOpt; }</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getMemOption() { <span class="keywordflow">return</span> m_memOption; }</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01186"></a><span class="lineno"><a class="line" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#ad7ffb2f0f9c31fc4d1240f6f4c13e8d7"> 1186</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> <a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#ad7ffb2f0f9c31fc4d1240f6f4c13e8d7">m_rangeExpr</a>; </div><div class="line"><a name="l01187"></a><span class="lineno"><a class="line" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#a6a0aed018e0c1fab149bb2a943da5c8e"> 1187</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> <a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#a6a0aed018e0c1fab149bb2a943da5c8e">m_memOption</a>; </div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;};</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;</div><div class="line"><a name="l01193"></a><span class="lineno"><a class="line" href="classelftosb_1_1_source_a_s_t_node.html"> 1193</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_source_a_s_t_node.html">SourceASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;{</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;    <a class="code" href="classelftosb_1_1_source_a_s_t_node.html">SourceASTNode</a>(std::string *name)</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;        , m_name(name)</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;    {</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;    }</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;    <a class="code" href="classelftosb_1_1_source_a_s_t_node.html">SourceASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_source_a_s_t_node.html">SourceASTNode</a> &amp;other);</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;</div><div class="line"><a name="l01203"></a><span class="lineno"><a class="line" href="classelftosb_1_1_source_a_s_t_node.html#ad5c07bdc25e6e080045f7f3ffe9f55b8"> 1203</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_source_a_s_t_node.html#ad5c07bdc25e6e080045f7f3ffe9f55b8">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_source_a_s_t_node.html">SourceASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01204"></a><span class="lineno"><a class="line" href="classelftosb_1_1_source_a_s_t_node.html#afc07714ff7a42dc544040323c1c69546"> 1204</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_source_a_s_t_node.html#afc07714ff7a42dc544040323c1c69546">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SourceASTNode&quot;</span>; }</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;    <span class="keyword">inline</span> std::string *getSourceName() { <span class="keywordflow">return</span> m_name; }</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_name;</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;};</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;</div><div class="line"><a name="l01215"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_match_list_a_s_t_node.html"> 1215</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_section_match_list_a_s_t_node.html">SectionMatchListASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;{</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;    <a class="code" href="classelftosb_1_1_section_match_list_a_s_t_node.html">SectionMatchListASTNode</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *sections)</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;        , m_sections(sections)</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;        , m_source()</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;    {</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;    }</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;    <a class="code" href="classelftosb_1_1_section_match_list_a_s_t_node.html">SectionMatchListASTNode</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *sections, std::string *source)</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;        , m_sections(sections)</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;        , m_source(source)</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;    {</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;    }</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;    <a class="code" href="classelftosb_1_1_section_match_list_a_s_t_node.html">SectionMatchListASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_section_match_list_a_s_t_node.html">SectionMatchListASTNode</a> &amp;other);</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;</div><div class="line"><a name="l01234"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_match_list_a_s_t_node.html#a8c63b2f571b631fd3158c181ed08a9fe"> 1234</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_section_match_list_a_s_t_node.html#a8c63b2f571b631fd3158c181ed08a9fe">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_section_match_list_a_s_t_node.html">SectionMatchListASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01235"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_match_list_a_s_t_node.html#ab1c7d275ecc19cf003decbd534dd3ed5"> 1235</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_section_match_list_a_s_t_node.html#ab1c7d275ecc19cf003decbd534dd3ed5">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SectionMatchListASTNode&quot;</span>; }</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getSections() { <span class="keywordflow">return</span> m_sections; }</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;    <span class="keyword">inline</span> std::string *getSourceName() { <span class="keywordflow">return</span> m_source; }</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_sections;</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_source;</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;};</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;</div><div class="line"><a name="l01251"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_a_s_t_node.html"> 1251</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_section_a_s_t_node.html">SectionASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;{</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01255"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_a_s_t_node.html#adb824566c14615c13f99b1b5e70bda9a"> 1255</a></span>&#160;    <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;    {</div><div class="line"><a name="l01257"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_a_s_t_node.html#adb824566c14615c13f99b1b5e70bda9aa54e532420d53555e51d5058f578fcf68"> 1257</a></span>&#160;        <a class="code" href="classelftosb_1_1_section_a_s_t_node.html#adb824566c14615c13f99b1b5e70bda9aa54e532420d53555e51d5058f578fcf68">kInclude</a>, </div><div class="line"><a name="l01258"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_a_s_t_node.html#adb824566c14615c13f99b1b5e70bda9aa6d813aa8bee793052c5956bf730fbb48"> 1258</a></span>&#160;        kExclude  </div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;    } <a class="code" href="classelftosb_1_1_section_a_s_t_node.html#adb824566c14615c13f99b1b5e70bda9a">match_action_t</a>;</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;    <a class="code" href="classelftosb_1_1_section_a_s_t_node.html">SectionASTNode</a>(std::string *name)</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;        , m_action(kInclude)</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;        , m_name(name)</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;        , m_source()</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;    {</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;    }</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;    <a class="code" href="classelftosb_1_1_section_a_s_t_node.html">SectionASTNode</a>(std::string *name, match_action_t action)</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;        , m_action(action)</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;        , m_name(name)</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;        , m_source()</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;    {</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;    }</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;    <a class="code" href="classelftosb_1_1_section_a_s_t_node.html">SectionASTNode</a>(std::string *name, std::string *source)</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;        , m_action(kInclude)</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;        , m_name(name)</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;        , m_source(source)</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;    {</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;    }</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;    <a class="code" href="classelftosb_1_1_section_a_s_t_node.html">SectionASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_section_a_s_t_node.html">SectionASTNode</a> &amp;other);</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;</div><div class="line"><a name="l01288"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_a_s_t_node.html#abfe0621a54206ea0341d2d1514f10314"> 1288</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_section_a_s_t_node.html#abfe0621a54206ea0341d2d1514f10314">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_section_a_s_t_node.html">SectionASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01289"></a><span class="lineno"><a class="line" href="classelftosb_1_1_section_a_s_t_node.html#a76b6ce383da3dc151a5223f91e7bfec3"> 1289</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_section_a_s_t_node.html#a76b6ce383da3dc151a5223f91e7bfec3">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SectionASTNode&quot;</span>; }</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;    <span class="keyword">inline</span> match_action_t getAction() { <span class="keywordflow">return</span> m_action; }</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;    <span class="keyword">inline</span> std::string *getSectionName() { <span class="keywordflow">return</span> m_name; }</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;    <span class="keyword">inline</span> std::string *getSourceName() { <span class="keywordflow">return</span> m_source; }</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;    match_action_t m_action;</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_name;</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_source;</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;};</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;</div><div class="line"><a name="l01304"></a><span class="lineno"><a class="line" href="classelftosb_1_1_symbol_a_s_t_node.html"> 1304</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;{</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;    <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a>()</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;        , m_symbol()</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;        , m_source()</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;    {</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;    }</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;    <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a>(std::string *symbol, std::string *source = 0)</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;        , m_symbol(symbol)</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;        , m_source(source)</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;    {</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;    }</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;    <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a> &amp;other);</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;</div><div class="line"><a name="l01323"></a><span class="lineno"><a class="line" href="classelftosb_1_1_symbol_a_s_t_node.html#a710728c1a11dfd1f5547a18ffd7288a5"> 1323</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html#a710728c1a11dfd1f5547a18ffd7288a5">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html">SymbolASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01324"></a><span class="lineno"><a class="line" href="classelftosb_1_1_symbol_a_s_t_node.html#a9106f6504f8f531d7036c087da50e4f2"> 1324</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html#a9106f6504f8f531d7036c087da50e4f2">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SymbolASTNode&quot;</span>; }</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setSymbolName(std::string *symbol) { m_symbol = symbol; }</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;    <span class="keyword">inline</span> std::string *getSymbolName() { <span class="keywordflow">return</span> m_symbol; }</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setSource(std::string *source) { m_source = source; }</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;    <span class="keyword">inline</span> std::string *getSource() { <span class="keywordflow">return</span> m_source; }</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01332"></a><span class="lineno"><a class="line" href="classelftosb_1_1_symbol_a_s_t_node.html#a61b2612bd294e82d5b6e89b54bc34100"> 1332</a></span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html#a61b2612bd294e82d5b6e89b54bc34100">m_symbol</a>; </div><div class="line"><a name="l01333"></a><span class="lineno"><a class="line" href="classelftosb_1_1_symbol_a_s_t_node.html#a5d5db9b4e91f00b9e10ddcd429e9411f"> 1333</a></span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> <a class="code" href="classelftosb_1_1_symbol_a_s_t_node.html#a5d5db9b4e91f00b9e10ddcd429e9411f">m_source</a>; </div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;};</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;</div><div class="line"><a name="l01339"></a><span class="lineno"><a class="line" href="classelftosb_1_1_address_range_a_s_t_node.html"> 1339</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_address_range_a_s_t_node.html">AddressRangeASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;{</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;    <a class="code" href="classelftosb_1_1_address_range_a_s_t_node.html">AddressRangeASTNode</a>()</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;        , m_begin()</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;        , m_end()</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;    {</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;    }</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;    <a class="code" href="classelftosb_1_1_address_range_a_s_t_node.html">AddressRangeASTNode</a>(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *begin, <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *end)</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;        , m_begin(begin)</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;        , m_end(end)</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;    {</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;    }</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;    <a class="code" href="classelftosb_1_1_address_range_a_s_t_node.html">AddressRangeASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_address_range_a_s_t_node.html">AddressRangeASTNode</a> &amp;other);</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;</div><div class="line"><a name="l01358"></a><span class="lineno"><a class="line" href="classelftosb_1_1_address_range_a_s_t_node.html#aca4cd7476ad007e4b4e16208e1ccbfb3"> 1358</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_address_range_a_s_t_node.html#aca4cd7476ad007e4b4e16208e1ccbfb3">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_address_range_a_s_t_node.html">AddressRangeASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01359"></a><span class="lineno"><a class="line" href="classelftosb_1_1_address_range_a_s_t_node.html#a005231d2ea2fac99687098be7bdee797"> 1359</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_address_range_a_s_t_node.html#a005231d2ea2fac99687098be7bdee797">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;AddressRangeASTNode&quot;</span>; }</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setBegin(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *begin) { m_begin = begin; }</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getBegin() { <span class="keywordflow">return</span> m_begin; }</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setEnd(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *end) { m_end = end; }</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *getEnd() { <span class="keywordflow">return</span> m_end; }</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> m_begin;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ASTNode&gt;</a> m_end;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;};</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;</div><div class="line"><a name="l01374"></a><span class="lineno"><a class="line" href="classelftosb_1_1_natural_location_a_s_t_node.html"> 1374</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_natural_location_a_s_t_node.html">NaturalLocationASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a></div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;{</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;    <a class="code" href="classelftosb_1_1_natural_location_a_s_t_node.html">NaturalLocationASTNode</a>()</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>()</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;    {</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;    }</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;    <a class="code" href="classelftosb_1_1_natural_location_a_s_t_node.html">NaturalLocationASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_natural_location_a_s_t_node.html">NaturalLocationASTNode</a> &amp;other)</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;        : <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a>(other)</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;    {</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;    }</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;</div><div class="line"><a name="l01387"></a><span class="lineno"><a class="line" href="classelftosb_1_1_natural_location_a_s_t_node.html#a78a97661d469462f71fc960ab4a67853"> 1387</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_natural_location_a_s_t_node.html#a78a97661d469462f71fc960ab4a67853">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_natural_location_a_s_t_node.html">NaturalLocationASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01388"></a><span class="lineno"><a class="line" href="classelftosb_1_1_natural_location_a_s_t_node.html#ab729098be75036d9be59ec2afba24616"> 1388</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_natural_location_a_s_t_node.html#ab729098be75036d9be59ec2afba24616">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;NaturalLocationASTNode&quot;</span>; }</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;};</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;</div><div class="line"><a name="l01394"></a><span class="lineno"><a class="line" href="classelftosb_1_1_from_statement_a_s_t_node.html"> 1394</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_from_statement_a_s_t_node.html">FromStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;{</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;    <a class="code" href="classelftosb_1_1_from_statement_a_s_t_node.html">FromStatementASTNode</a>()</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;    {</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;    }</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;    <a class="code" href="classelftosb_1_1_from_statement_a_s_t_node.html">FromStatementASTNode</a>(std::string *source, <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements);</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;    <a class="code" href="classelftosb_1_1_from_statement_a_s_t_node.html">FromStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_from_statement_a_s_t_node.html">FromStatementASTNode</a> &amp;other);</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;</div><div class="line"><a name="l01404"></a><span class="lineno"><a class="line" href="classelftosb_1_1_from_statement_a_s_t_node.html#a7c94ffb51946ce1415281843744f2910"> 1404</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_from_statement_a_s_t_node.html#a7c94ffb51946ce1415281843744f2910">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_from_statement_a_s_t_node.html">FromStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01405"></a><span class="lineno"><a class="line" href="classelftosb_1_1_from_statement_a_s_t_node.html#a9e81791c52f0e1850e4e561920b4aec9"> 1405</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_from_statement_a_s_t_node.html#a9e81791c52f0e1850e4e561920b4aec9">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;FromStatementASTNode&quot;</span>; }</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setSourceName(std::string *source) { m_source = source; }</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;    <span class="keyword">inline</span> std::string *getSourceName() { <span class="keywordflow">return</span> m_source; }</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setStatements(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements) { m_statements = statements; }</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getStatements() { <span class="keywordflow">return</span> m_statements; }</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> m_source;</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_statements;</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;};</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;</div><div class="line"><a name="l01420"></a><span class="lineno"><a class="line" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html"> 1420</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html">EncryptStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;{</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;    <a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html">EncryptStatementASTNode</a>();</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;    <a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html">EncryptStatementASTNode</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements)</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;        , m_statements(statements)</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;        , m_keyblobNumberExpr()</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;    {</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;    }</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;    <a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html">EncryptStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html">EncryptStatementASTNode</a> &amp;other);</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;</div><div class="line"><a name="l01432"></a><span class="lineno"><a class="line" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html#ab6453ac84378024b9258e11d7cc866d8"> 1432</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html#ab6453ac84378024b9258e11d7cc866d8">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html">EncryptStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01433"></a><span class="lineno"><a class="line" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html#a19b5d04c35cd7107ab34390d59f188ca"> 1433</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html#a19b5d04c35cd7107ab34390d59f188ca">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;EncryptStatementASTNode&quot;</span>; }</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setStatements(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements) { m_statements = statements; }</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getStatements() { <span class="keywordflow">return</span> m_statements; }</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setKeyblobNumberExpr(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *numExpr) { m_keyblobNumberExpr = numExpr; }</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getKeyblobNumberExpr() { <span class="keywordflow">return</span> m_keyblobNumberExpr; }</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_statements;</div><div class="line"><a name="l01442"></a><span class="lineno"><a class="line" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html#a8b6b55a76ceaf3ee61a67d0b15c467d9"> 1442</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> <a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html#a8b6b55a76ceaf3ee61a67d0b15c467d9">m_keyblobNumberExpr</a>; </div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;};</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;</div><div class="line"><a name="l01448"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html"> 1448</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html">KeywrapStatementASTNode</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a></div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;{</div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;    <a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html">KeywrapStatementASTNode</a>();</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;    <a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html">KeywrapStatementASTNode</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements)</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;        : <a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a>()</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;        , m_statements(statements)</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;        , m_keyblobNumberExpr()</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;    {</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;    }</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;    <a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html">KeywrapStatementASTNode</a>(<span class="keyword">const</span> <a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html">KeywrapStatementASTNode</a> &amp;other);</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;</div><div class="line"><a name="l01460"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html#ad4252cb515bfe6bd916777e56480a0ee"> 1460</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *<a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html#ad4252cb515bfe6bd916777e56480a0ee">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html">KeywrapStatementASTNode</a>(*<span class="keyword">this</span>); }</div><div class="line"><a name="l01461"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html#a78d25485558fedd0bcc5c3236d2ab41a"> 1461</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html#a78d25485558fedd0bcc5c3236d2ab41a">nodeName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;KeywrapStatementASTNode&quot;</span>; }</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> printTree(<span class="keywordtype">int</span> indent) <span class="keyword">const</span>;</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setStatements(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements) { m_statements = statements; }</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *getStatements() { <span class="keywordflow">return</span> m_statements; }</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setKeyblobNumberExpr(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *numExpr) { m_keyblobNumberExpr = numExpr; }</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *getKeyblobNumberExpr() { <span class="keywordflow">return</span> m_keyblobNumberExpr; }</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ListASTNode&gt;</a> m_statements;</div><div class="line"><a name="l01470"></a><span class="lineno"><a class="line" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html#a147da81714af557d9529450449ada7b0"> 1470</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;ExprASTNode&gt;</a> <a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html#a147da81714af557d9529450449ada7b0">m_keyblobNumberExpr</a>; </div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;};</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;}; <span class="comment">// namespace elftosb</span></div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;<span class="preprocessor">#endif // _ElftosbAST_h_</span></div><div class="ttc" id="classelftosb_1_1_encrypt_statement_a_s_t_node_html_a19b5d04c35cd7107ab34390d59f188ca"><div class="ttname"><a href="classelftosb_1_1_encrypt_statement_a_s_t_node.html#a19b5d04c35cd7107ab34390d59f188ca">elftosb::EncryptStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1433</div></div>
<div class="ttc" id="classelftosb_1_1_a_s_t_node_html_aa1a6353ed6e3623589a34958e22785cb"><div class="ttname"><a href="classelftosb_1_1_a_s_t_node.html#aa1a6353ed6e3623589a34958e22785cb">elftosb::ASTNode::ASTNode</a></div><div class="ttdeci">ASTNode(const ASTNode &amp;other)</div><div class="ttdoc">Copy constructor. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:50</div></div>
<div class="ttc" id="classelftosb_1_1_source_def_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_source_def_a_s_t_node.html">elftosb::SourceDefASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:741</div></div>
<div class="ttc" id="classelftosb_1_1_source_file_function_a_s_t_node_html_a7475dbd6afbe594ac64d7fd66525e36b"><div class="ttname"><a href="classelftosb_1_1_source_file_function_a_s_t_node.html#a7475dbd6afbe594ac64d7fd66525e36b">elftosb::SourceFileFunctionASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:463</div></div>
<div class="ttc" id="classelftosb_1_1_negative_expr_a_s_t_node_html_a432fb01d70a1c4d1b15a150c6129c790"><div class="ttname"><a href="classelftosb_1_1_negative_expr_a_s_t_node.html#a432fb01d70a1c4d1b15a150c6129c790">elftosb::NegativeExprASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:414</div></div>
<div class="ttc" id="classelftosb_1_1_boolean_not_expr_a_s_t_node_html_af381a6c07bc9177811157ab4b8efe631"><div class="ttname"><a href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html#af381a6c07bc9177811157ab4b8efe631">elftosb::BooleanNotExprASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:439</div></div>
<div class="ttc" id="classelftosb_1_1_const_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_const_a_s_t_node.html">elftosb::ConstASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:256</div></div>
<div class="ttc" id="classelftosb_1_1_symbol_a_s_t_node_html_a9106f6504f8f531d7036c087da50e4f2"><div class="ttname"><a href="classelftosb_1_1_symbol_a_s_t_node.html#a9106f6504f8f531d7036c087da50e4f2">elftosb::SymbolASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1324</div></div>
<div class="ttc" id="classelftosb_1_1_section_match_list_a_s_t_node_html_ab1c7d275ecc19cf003decbd534dd3ed5"><div class="ttname"><a href="classelftosb_1_1_section_match_list_a_s_t_node.html#ab1c7d275ecc19cf003decbd534dd3ed5">elftosb::SectionMatchListASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1235</div></div>
<div class="ttc" id="classelftosb_1_1_call_statement_a_s_t_node_html_a4a46d3bb3273ca656d1083165437613c"><div class="ttname"><a href="classelftosb_1_1_call_statement_a_s_t_node.html#a4a46d3bb3273ca656d1083165437613c">elftosb::CallStatementASTNode::call_type_t</a></div><div class="ttdeci">call_type_t</div><div class="ttdoc">Possible sub-types of call statements. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1084</div></div>
<div class="ttc" id="classelftosb_1_1_encrypt_statement_a_s_t_node_html_ab6453ac84378024b9258e11d7cc866d8"><div class="ttname"><a href="classelftosb_1_1_encrypt_statement_a_s_t_node.html#ab6453ac84378024b9258e11d7cc866d8">elftosb::EncryptStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1432</div></div>
<div class="ttc" id="classelftosb_1_1_symbol_a_s_t_node_html_a710728c1a11dfd1f5547a18ffd7288a5"><div class="ttname"><a href="classelftosb_1_1_symbol_a_s_t_node.html#a710728c1a11dfd1f5547a18ffd7288a5">elftosb::SymbolASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1323</div></div>
<div class="ttc" id="classelftosb_1_1_expr_const_a_s_t_node_html_a9a22098973b76d4991fbd0da7b8bbd20"><div class="ttname"><a href="classelftosb_1_1_expr_const_a_s_t_node.html#a9a22098973b76d4991fbd0da7b8bbd20">elftosb::ExprConstASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:633</div></div>
<div class="ttc" id="classelftosb_1_1_int_const_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_int_const_expr_a_s_t_node.html">elftosb::IntConstExprASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:329</div></div>
<div class="ttc" id="classelftosb_1_1_encrypt_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_encrypt_statement_a_s_t_node.html">elftosb::EncryptStatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1420</div></div>
<div class="ttc" id="classelftosb_1_1_source_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_source_a_s_t_node.html">elftosb::SourceASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1193</div></div>
<div class="ttc" id="classelftosb_1_1_keyblob_entry_a_s_t_node_html_aeb72ada7136e5336cf790d6a45376149"><div class="ttname"><a href="classelftosb_1_1_keyblob_entry_a_s_t_node.html#aeb72ada7136e5336cf790d6a45376149">elftosb::KeyblobEntryASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:284</div></div>
<div class="ttc" id="classelftosb_1_1_mem_enable_statement_a_s_t_node_html_ad7ffb2f0f9c31fc4d1240f6f4c13e8d7"><div class="ttname"><a href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#ad7ffb2f0f9c31fc4d1240f6f4c13e8d7">elftosb::MemEnableStatementASTNode::m_rangeExpr</a></div><div class="ttdeci">smart_ptr&lt; ASTNode &gt; m_rangeExpr</div><div class="ttdoc">Expression that evaluates to the config block address range. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1186</div></div>
<div class="ttc" id="classelftosb_1_1_mode_statement_a_s_t_node_html_af849136e8b6d1e0dfbe7d3154b460095"><div class="ttname"><a href="classelftosb_1_1_mode_statement_a_s_t_node.html#af849136e8b6d1e0dfbe7d3154b460095">elftosb::ModeStatementASTNode::m_modeExpr</a></div><div class="ttdeci">smart_ptr&lt; ExprASTNode &gt; m_modeExpr</div><div class="ttdoc">Expression that evaluates to the new boot mode. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:954</div></div>
<div class="ttc" id="classelftosb_1_1_section_match_list_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_section_match_list_a_s_t_node.html">elftosb::SectionMatchListASTNode</a></div><div class="ttdoc">List of section matches for a particular source name. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1215</div></div>
<div class="ttc" id="classelftosb_1_1_extern_source_def_a_s_t_node_html_a944b8944dd566be38919815724b7ccc7"><div class="ttname"><a href="classelftosb_1_1_extern_source_def_a_s_t_node.html#a944b8944dd566be38919815724b7ccc7">elftosb::ExternSourceDefASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:795</div></div>
<div class="ttc" id="classelftosb_1_1_natural_location_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_natural_location_a_s_t_node.html">elftosb::NaturalLocationASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1374</div></div>
<div class="ttc" id="classelftosb_1_1_mode_statement_a_s_t_node_html_a70ab4727061cba6f4b26ff0439962d6b"><div class="ttname"><a href="classelftosb_1_1_mode_statement_a_s_t_node.html#a70ab4727061cba6f4b26ff0439962d6b">elftosb::ModeStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:947</div></div>
<div class="ttc" id="classelftosb_1_1_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_statement_a_s_t_node.html">elftosb::StatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:882</div></div>
<div class="ttc" id="classelftosb_1_1_keyblob_block_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_keyblob_block_a_s_t_node.html">elftosb::KeyblobBlockASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:209</div></div>
<div class="ttc" id="classelftosb_1_1_if_statement_a_s_t_node_html_afc2ebd618ff4b5cd97e924626bc08666"><div class="ttname"><a href="classelftosb_1_1_if_statement_a_s_t_node.html#afc2ebd618ff4b5cd97e924626bc08666">elftosb::IfStatementASTNode::m_conditionExpr</a></div><div class="ttdeci">smart_ptr&lt; ExprASTNode &gt; m_conditionExpr</div><div class="ttdoc">Boolean expression. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:922</div></div>
<div class="ttc" id="classelftosb_1_1_bootable_section_contents_a_s_t_node_html_af5484924cf2057cfd6f4ac62b9ce213e"><div class="ttname"><a href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html#af5484924cf2057cfd6f4ac62b9ce213e">elftosb::BootableSectionContentsASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:871</div></div>
<div class="ttc" id="classelftosb_1_1_keywrap_statement_a_s_t_node_html_ad4252cb515bfe6bd916777e56480a0ee"><div class="ttname"><a href="classelftosb_1_1_keywrap_statement_a_s_t_node.html#ad4252cb515bfe6bd916777e56480a0ee">elftosb::KeywrapStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1460</div></div>
<div class="ttc" id="classelftosb_1_1_message_statement_a_s_t_node_html_a75c4840bc821b454b5175937f2c2cb4cafccdcc7bf056213c441d86f0a20fdd00"><div class="ttname"><a href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4cafccdcc7bf056213c441d86f0a20fdd00">elftosb::MessageStatementASTNode::kInfo</a></div><div class="ttdoc">Prints an informational messag to the user. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1008</div></div>
<div class="ttc" id="classelftosb_1_1_defined_operator_a_s_t_node_html_a9c5b970936a5af7beedba59f8366a5c2"><div class="ttname"><a href="classelftosb_1_1_defined_operator_a_s_t_node.html#a9c5b970936a5af7beedba59f8366a5c2">elftosb::DefinedOperatorASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:490</div></div>
<div class="ttc" id="classelftosb_1_1_if_statement_a_s_t_node_html_a13cc8a941591e31c2350e2ad459f2cf6"><div class="ttname"><a href="classelftosb_1_1_if_statement_a_s_t_node.html#a13cc8a941591e31c2350e2ad459f2cf6">elftosb::IfStatementASTNode::m_elseStatements</a></div><div class="ttdeci">smart_ptr&lt; ListASTNode &gt; m_elseStatements</div><div class="ttdoc">Statements for the &quot;else&quot; part of the statements. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:926</div></div>
<div class="ttc" id="classelftosb_1_1_i_v_t_const_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_i_v_t_const_a_s_t_node.html">elftosb::IVTConstASTNode</a></div><div class="ttdoc">Node for a constant IVT structure as used by HAB4. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:691</div></div>
<div class="ttc" id="classelftosb_1_1_blob_const_a_s_t_node_html_a5052624cf1802f812c45a37d2432556c"><div class="ttname"><a href="classelftosb_1_1_blob_const_a_s_t_node.html#a5052624cf1802f812c45a37d2432556c">elftosb::BlobConstASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:676</div></div>
<div class="ttc" id="classelftosb_1_1_defined_operator_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_defined_operator_a_s_t_node.html">elftosb::DefinedOperatorASTNode</a></div><div class="ttdoc">Returns true or false depending on whether a constant is defined. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:479</div></div>
<div class="ttc" id="classelftosb_1_1_keyblob_entry_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_keyblob_entry_a_s_t_node.html">elftosb::KeyblobEntryASTNode</a></div><div class="ttdoc">Node for a keyblob entry. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:274</div></div>
<div class="ttc" id="classelftosb_1_1_message_statement_a_s_t_node_html_a47def147d87b3873b379b27c4039fda0"><div class="ttname"><a href="classelftosb_1_1_message_statement_a_s_t_node.html#a47def147d87b3873b379b27c4039fda0">elftosb::MessageStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1025</div></div>
<div class="ttc" id="group__smart__pointer_html"><div class="ttname"><a href="group__smart__pointer.html">smart_ptr&lt; std::string &gt;</a></div></div>
<div class="ttc" id="classelftosb_1_1_section_a_s_t_node_html_abfe0621a54206ea0341d2d1514f10314"><div class="ttname"><a href="classelftosb_1_1_section_a_s_t_node.html#abfe0621a54206ea0341d2d1514f10314">elftosb::SectionASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1288</div></div>
<div class="ttc" id="classelftosb_1_1_boolean_not_expr_a_s_t_node_html_ac892f823ca97d3405bc6707a4578ff80"><div class="ttname"><a href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html#ac892f823ca97d3405bc6707a4578ff80">elftosb::BooleanNotExprASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:438</div></div>
<div class="ttc" id="structelftosb_1_1token__loc__t_html_a6ad7abf2f553cfbe8976059316190b8f"><div class="ttname"><a href="structelftosb_1_1token__loc__t.html#a6ad7abf2f553cfbe8976059316190b8f">elftosb::token_loc_t::m_lastLine</a></div><div class="ttdeci">int m_lastLine</div><div class="ttdoc">Ending line of the token. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:27</div></div>
<div class="ttc" id="classelftosb_1_1_mode_statement_a_s_t_node_html_ae4265a5a5f14823f64ab6ef299dd5e5c"><div class="ttname"><a href="classelftosb_1_1_mode_statement_a_s_t_node.html#ae4265a5a5f14823f64ab6ef299dd5e5c">elftosb::ModeStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:948</div></div>
<div class="ttc" id="classelftosb_1_1_defined_operator_a_s_t_node_html_a9f7c36b9398813b53faa7368fc656b3c"><div class="ttname"><a href="classelftosb_1_1_defined_operator_a_s_t_node.html#a9f7c36b9398813b53faa7368fc656b3c">elftosb::DefinedOperatorASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:489</div></div>
<div class="ttc" id="classelftosb_1_1_sizeof_operator_a_s_t_node_html_a890287e33e2b316d03d8838b53bc0395"><div class="ttname"><a href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#a890287e33e2b316d03d8838b53bc0395">elftosb::SizeofOperatorASTNode::m_constantName</a></div><div class="ttdeci">smart_ptr&lt; std::string &gt; m_constantName</div><div class="ttdoc">Name of the constant. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:531</div></div>
<div class="ttc" id="classelftosb_1_1_load_statement_a_s_t_node_html_a281768bbc45d48c745c872a077b0cd13"><div class="ttname"><a href="classelftosb_1_1_load_statement_a_s_t_node.html#a281768bbc45d48c745c872a077b0cd13">elftosb::LoadStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1061</div></div>
<div class="ttc" id="classelftosb_1_1_symbol_ref_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html">elftosb::SymbolRefExprASTNode</a></div><div class="ttdoc">Expression node for a symbol reference. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:381</div></div>
<div class="ttc" id="classelftosb_1_1_call_statement_a_s_t_node_html_a61ba7319c6b9baf547d6a63d572a2a13"><div class="ttname"><a href="classelftosb_1_1_call_statement_a_s_t_node.html#a61ba7319c6b9baf547d6a63d572a2a13">elftosb::CallStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1114</div></div>
<div class="ttc" id="classelftosb_1_1_if_statement_a_s_t_node_html_a1bc89698cd19ec7242c1b3ba897722fb"><div class="ttname"><a href="classelftosb_1_1_if_statement_a_s_t_node.html#a1bc89698cd19ec7242c1b3ba897722fb">elftosb::IfStatementASTNode::m_nextIf</a></div><div class="ttdeci">smart_ptr&lt; IfStatementASTNode &gt; m_nextIf</div><div class="ttdoc">Link to next &quot;else if&quot;. If this is non-NULL then m_elseStatements must be NULL and vice-versa...</div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:925</div></div>
<div class="ttc" id="classelftosb_1_1_load_statement_a_s_t_node_html_ad0febb72d9b239e05f8368697e06b257"><div class="ttname"><a href="classelftosb_1_1_load_statement_a_s_t_node.html#ad0febb72d9b239e05f8368697e06b257">elftosb::LoadStatementASTNode::m_loadOption</a></div><div class="ttdeci">smart_ptr&lt; ASTNode &gt; m_loadOption</div><div class="ttdoc">Load option identifier. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1074</div></div>
<div class="ttc" id="classelftosb_1_1_data_section_contents_a_s_t_node_html_a45220e1759fab68900450c68140228fe"><div class="ttname"><a href="classelftosb_1_1_data_section_contents_a_s_t_node.html#a45220e1759fab68900450c68140228fe">elftosb::DataSectionContentsASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:848</div></div>
<div class="ttc" id="classelftosb_1_1_natural_location_a_s_t_node_html_a78a97661d469462f71fc960ab4a67853"><div class="ttname"><a href="classelftosb_1_1_natural_location_a_s_t_node.html#a78a97661d469462f71fc960ab4a67853">elftosb::NaturalLocationASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1387</div></div>
<div class="ttc" id="classelftosb_1_1_options_block_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_options_block_a_s_t_node.html">elftosb::OptionsBlockASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:153</div></div>
<div class="ttc" id="classelftosb_1_1_expr_const_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_expr_const_a_s_t_node.html">elftosb::ExprConstASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:622</div></div>
<div class="ttc" id="classelftosb_1_1_expr_a_s_t_node_html_a7b52e761f5d3686c064644ea4554e378"><div class="ttname"><a href="classelftosb_1_1_expr_a_s_t_node.html#a7b52e761f5d3686c064644ea4554e378">elftosb::ExprASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:243</div></div>
<div class="ttc" id="classelftosb_1_1_blob_const_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_blob_const_a_s_t_node.html">elftosb::BlobConstASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:666</div></div>
<div class="ttc" id="classelftosb_1_1_reset_statement_a_s_t_node_html_a9c17b94ecb8f6b5a223fafd98ddcbeb7"><div class="ttname"><a href="classelftosb_1_1_reset_statement_a_s_t_node.html#a9c17b94ecb8f6b5a223fafd98ddcbeb7">elftosb::ResetStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1150</div></div>
<div class="ttc" id="classelftosb_1_1_from_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_from_statement_a_s_t_node.html">elftosb::FromStatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1394</div></div>
<div class="ttc" id="classelftosb_1_1_keyblob_entry_a_s_t_node_html_a9b34011fe31d965f2115beeec777872e"><div class="ttname"><a href="classelftosb_1_1_keyblob_entry_a_s_t_node.html#a9b34011fe31d965f2115beeec777872e">elftosb::KeyblobEntryASTNode::m_fields</a></div><div class="ttdeci">smart_ptr&lt; ListASTNode &gt; m_fields</div><div class="ttdoc">Fields are set through assignment statements. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:292</div></div>
<div class="ttc" id="classelftosb_1_1_if_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_if_statement_a_s_t_node.html">elftosb::IfStatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:900</div></div>
<div class="ttc" id="classelftosb_1_1_assignment_a_s_t_node_html_a915e3332e9b6c4c75c9cce4bdcd76d17"><div class="ttname"><a href="classelftosb_1_1_assignment_a_s_t_node.html#a915e3332e9b6c4c75c9cce4bdcd76d17">elftosb::AssignmentASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:728</div></div>
<div class="ttc" id="classelftosb_1_1_section_a_s_t_node_html_adb824566c14615c13f99b1b5e70bda9aa54e532420d53555e51d5058f578fcf68"><div class="ttname"><a href="classelftosb_1_1_section_a_s_t_node.html#adb824566c14615c13f99b1b5e70bda9aa54e532420d53555e51d5058f578fcf68">elftosb::SectionASTNode::kInclude</a></div><div class="ttdoc">Include sections matched by this node. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1257</div></div>
<div class="ttc" id="classelftosb_1_1_address_range_a_s_t_node_html_aca4cd7476ad007e4b4e16208e1ccbfb3"><div class="ttname"><a href="classelftosb_1_1_address_range_a_s_t_node.html#aca4cd7476ad007e4b4e16208e1ccbfb3">elftosb::AddressRangeASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1358</div></div>
<div class="ttc" id="classelftosb_1_1_encrypt_statement_a_s_t_node_html_a8b6b55a76ceaf3ee61a67d0b15c467d9"><div class="ttname"><a href="classelftosb_1_1_encrypt_statement_a_s_t_node.html#a8b6b55a76ceaf3ee61a67d0b15c467d9">elftosb::EncryptStatementASTNode::m_keyblobNumberExpr</a></div><div class="ttdeci">smart_ptr&lt; ExprASTNode &gt; m_keyblobNumberExpr</div><div class="ttdoc">Expression that evaluates to the keyblob instance number. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1442</div></div>
<div class="ttc" id="classelftosb_1_1_bootable_section_contents_a_s_t_node_html_a7917cd4e7a0d2fee889330627e042384"><div class="ttname"><a href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html#a7917cd4e7a0d2fee889330627e042384">elftosb::BootableSectionContentsASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:870</div></div>
<div class="ttc" id="classelftosb_1_1_eval_context_html"><div class="ttname"><a href="classelftosb_1_1_eval_context.html">elftosb::EvalContext</a></div><div class="ttdoc">Context for evaluating AST tree and expressions. </div><div class="ttdef"><b>Definition:</b> EvalContext.h:28</div></div>
<div class="ttc" id="classelftosb_1_1_sizeof_operator_a_s_t_node_html_ab8cd9e7d21c396ad08064bd510b4647c"><div class="ttname"><a href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#ab8cd9e7d21c396ad08064bd510b4647c">elftosb::SizeofOperatorASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:523</div></div>
<div class="ttc" id="classelftosb_1_1_keyblob_entry_a_s_t_node_html_afeba0d0004f1837ee763c64333a98cdb"><div class="ttname"><a href="classelftosb_1_1_keyblob_entry_a_s_t_node.html#afeba0d0004f1837ee763c64333a98cdb">elftosb::KeyblobEntryASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:285</div></div>
<div class="ttc" id="classelftosb_1_1_source_a_s_t_node_html_ad5c07bdc25e6e080045f7f3ffe9f55b8"><div class="ttname"><a href="classelftosb_1_1_source_a_s_t_node.html#ad5c07bdc25e6e080045f7f3ffe9f55b8">elftosb::SourceASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1203</div></div>
<div class="ttc" id="classelftosb_1_1_boolean_not_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_boolean_not_expr_a_s_t_node.html">elftosb::BooleanNotExprASTNode</a></div><div class="ttdoc">Performa a boolean inversion. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:428</div></div>
<div class="ttc" id="classelftosb_1_1_natural_location_a_s_t_node_html_ab729098be75036d9be59ec2afba24616"><div class="ttname"><a href="classelftosb_1_1_natural_location_a_s_t_node.html#ab729098be75036d9be59ec2afba24616">elftosb::NaturalLocationASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1388</div></div>
<div class="ttc" id="classelftosb_1_1_mem_enable_statement_a_s_t_node_html_a8710c231c56fa044ea5df2dee772fdc7"><div class="ttname"><a href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#a8710c231c56fa044ea5df2dee772fdc7">elftosb::MemEnableStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1177</div></div>
<div class="ttc" id="classelftosb_1_1_expr_const_a_s_t_node_html_a12468d323a529a77f58b316d99de48cc"><div class="ttname"><a href="classelftosb_1_1_expr_const_a_s_t_node.html#a12468d323a529a77f58b316d99de48cc">elftosb::ExprConstASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:632</div></div>
<div class="ttc" id="classelftosb_1_1_message_statement_a_s_t_node_html_a3b9e9116d06949a22db97fd1fce638c0"><div class="ttname"><a href="classelftosb_1_1_message_statement_a_s_t_node.html#a3b9e9116d06949a22db97fd1fce638c0">elftosb::MessageStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1024</div></div>
<div class="ttc" id="classelftosb_1_1_path_source_def_a_s_t_node_html_a60bb2ee37a8b1067e86ad676b8a9b868"><div class="ttname"><a href="classelftosb_1_1_path_source_def_a_s_t_node.html#a60bb2ee37a8b1067e86ad676b8a9b868">elftosb::PathSourceDefASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:773</div></div>
<div class="ttc" id="classelftosb_1_1_address_range_a_s_t_node_html_a005231d2ea2fac99687098be7bdee797"><div class="ttname"><a href="classelftosb_1_1_address_range_a_s_t_node.html#a005231d2ea2fac99687098be7bdee797">elftosb::AddressRangeASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1359</div></div>
<div class="ttc" id="classelftosb_1_1_assignment_a_s_t_node_html_ae3fa67eb6f44d345f96b350b50a89589"><div class="ttname"><a href="classelftosb_1_1_assignment_a_s_t_node.html#ae3fa67eb6f44d345f96b350b50a89589">elftosb::AssignmentASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:727</div></div>
<div class="ttc" id="classelftosb_1_1_a_s_t_node_html_a043dd6f2f5012e4c79ebb1b3816c4209"><div class="ttname"><a href="classelftosb_1_1_a_s_t_node.html#a043dd6f2f5012e4c79ebb1b3816c4209">elftosb::ASTNode::ASTNode</a></div><div class="ttdeci">ASTNode()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:37</div></div>
<div class="ttc" id="classelftosb_1_1_mem_enable_statement_a_s_t_node_html_a38cd8861e20ebfd480ec1c9dd1c5b023"><div class="ttname"><a href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#a38cd8861e20ebfd480ec1c9dd1c5b023">elftosb::MemEnableStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1178</div></div>
<div class="ttc" id="classelftosb_1_1_blob_const_a_s_t_node_html_af7f6f782541d1cb03284689bad2d49c1"><div class="ttname"><a href="classelftosb_1_1_blob_const_a_s_t_node.html#af7f6f782541d1cb03284689bad2d49c1">elftosb::BlobConstASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:677</div></div>
<div class="ttc" id="group__smart__pointer_html_classsmart__ptr"><div class="ttname"><a href="group__smart__pointer.html#classsmart__ptr">smart_ptr</a></div><div class="ttdoc">Simple, standard smart pointer class. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/smart_ptr.h:18</div></div>
<div class="ttc" id="classelftosb_1_1_symbol_a_s_t_node_html_a61b2612bd294e82d5b6e89b54bc34100"><div class="ttname"><a href="classelftosb_1_1_symbol_a_s_t_node.html#a61b2612bd294e82d5b6e89b54bc34100">elftosb::SymbolASTNode::m_symbol</a></div><div class="ttdeci">smart_ptr&lt; std::string &gt; m_symbol</div><div class="ttdoc">Required. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1332</div></div>
<div class="ttc" id="classelftosb_1_1_message_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_message_statement_a_s_t_node.html">elftosb::MessageStatementASTNode</a></div><div class="ttdoc">Statement to print a message to the elftosb user. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1003</div></div>
<div class="ttc" id="classelftosb_1_1_erase_statement_a_s_t_node_html_aa795157fb2562b89b34b912b4b733c30"><div class="ttname"><a href="classelftosb_1_1_erase_statement_a_s_t_node.html#aa795157fb2562b89b34b912b4b733c30">elftosb::EraseStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:981</div></div>
<div class="ttc" id="classelftosb_1_1_if_statement_a_s_t_node_html_a6cea9db74e5f47d92c2d3e881d95181a"><div class="ttname"><a href="classelftosb_1_1_if_statement_a_s_t_node.html#a6cea9db74e5f47d92c2d3e881d95181a">elftosb::IfStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:912</div></div>
<div class="ttc" id="classelftosb_1_1_message_statement_a_s_t_node_html_a75c4840bc821b454b5175937f2c2cb4ca500242382432b76a231ebf5878a30a67"><div class="ttname"><a href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4ca500242382432b76a231ebf5878a30a67">elftosb::MessageStatementASTNode::kWarning</a></div><div class="ttdoc">Prints a warning to the user. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1009</div></div>
<div class="ttc" id="classelftosb_1_1_int_size_expr_a_s_t_node_html_aaad5ae529a1f05f5b11888ce4918c29a"><div class="ttname"><a href="classelftosb_1_1_int_size_expr_a_s_t_node.html#aaad5ae529a1f05f5b11888ce4918c29a">elftosb::IntSizeExprASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:606</div></div>
<div class="ttc" id="classelftosb_1_1_if_statement_a_s_t_node_html_a1206dbd604e54d74bcc9d7fef8a7f615"><div class="ttname"><a href="classelftosb_1_1_if_statement_a_s_t_node.html#a1206dbd604e54d74bcc9d7fef8a7f615">elftosb::IfStatementASTNode::m_ifStatements</a></div><div class="ttdeci">smart_ptr&lt; ListASTNode &gt; m_ifStatements</div><div class="ttdoc">List of &quot;if&quot; section statements. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:923</div></div>
<div class="ttc" id="classelftosb_1_1_section_a_s_t_node_html_a76b6ce383da3dc151a5223f91e7bfec3"><div class="ttname"><a href="classelftosb_1_1_section_a_s_t_node.html#a76b6ce383da3dc151a5223f91e7bfec3">elftosb::SectionASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1289</div></div>
<div class="ttc" id="classelftosb_1_1_erase_statement_a_s_t_node_html_a023c72003ec9826003ba3877385612c5"><div class="ttname"><a href="classelftosb_1_1_erase_statement_a_s_t_node.html#a023c72003ec9826003ba3877385612c5">elftosb::EraseStatementASTNode::m_memOption</a></div><div class="ttdeci">smart_ptr&lt; ASTNode &gt; m_memOption</div><div class="ttdoc">Memory option identifier. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:997</div></div>
<div class="ttc" id="classelftosb_1_1_sizeof_operator_a_s_t_node_html_a270cb3d7e52dd6c29467b79f6945c99b"><div class="ttname"><a href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#a270cb3d7e52dd6c29467b79f6945c99b">elftosb::SizeofOperatorASTNode::m_symbol</a></div><div class="ttdeci">smart_ptr&lt; SymbolASTNode &gt; m_symbol</div><div class="ttdoc">Symbol reference. If this is non-NULL then the constant name is used instead. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:533</div></div>
<div class="ttc" id="namespaceelftosb_html"><div class="ttname"><a href="namespaceelftosb.html">elftosb</a></div><div class="ttdef"><b>Definition:</b> BootImage.h:13</div></div>
<div class="ttc" id="classelftosb_1_1_from_statement_a_s_t_node_html_a7c94ffb51946ce1415281843744f2910"><div class="ttname"><a href="classelftosb_1_1_from_statement_a_s_t_node.html#a7c94ffb51946ce1415281843744f2910">elftosb::FromStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1404</div></div>
<div class="ttc" id="classelftosb_1_1_reset_statement_a_s_t_node_html_a0882627acc35e592c56782a8038131d2"><div class="ttname"><a href="classelftosb_1_1_reset_statement_a_s_t_node.html#a0882627acc35e592c56782a8038131d2">elftosb::ResetStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1151</div></div>
<div class="ttc" id="classelftosb_1_1_keywrap_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_keywrap_statement_a_s_t_node.html">elftosb::KeywrapStatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1448</div></div>
<div class="ttc" id="classelftosb_1_1_section_a_s_t_node_html_adb824566c14615c13f99b1b5e70bda9a"><div class="ttname"><a href="classelftosb_1_1_section_a_s_t_node.html#adb824566c14615c13f99b1b5e70bda9a">elftosb::SectionASTNode::match_action_t</a></div><div class="ttdeci">match_action_t</div><div class="ttdoc">Possible actions for a section match list. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1255</div></div>
<div class="ttc" id="classelftosb_1_1_sizeof_operator_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_sizeof_operator_a_s_t_node.html">elftosb::SizeofOperatorASTNode</a></div><div class="ttdoc">Returns an integer that is the size in bytes of the operand. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:505</div></div>
<div class="ttc" id="classelftosb_1_1_message_statement_a_s_t_node_html_aa959c6d6ef279418e8801b0ec820a269"><div class="ttname"><a href="classelftosb_1_1_message_statement_a_s_t_node.html#aa959c6d6ef279418e8801b0ec820a269">elftosb::MessageStatementASTNode::m_message</a></div><div class="ttdeci">smart_ptr&lt; std::string &gt; m_message</div><div class="ttdoc">Message to report. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1034</div></div>
<div class="ttc" id="classelftosb_1_1_call_statement_a_s_t_node_html_a51ce888a848bc56fcb537895083e53eb"><div class="ttname"><a href="classelftosb_1_1_call_statement_a_s_t_node.html#a51ce888a848bc56fcb537895083e53eb">elftosb::CallStatementASTNode::m_target</a></div><div class="ttdeci">smart_ptr&lt; ASTNode &gt; m_target</div><div class="ttdoc">This becomes the IVT address in HAB mode. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1129</div></div>
<div class="ttc" id="structelftosb_1_1token__loc__t_html"><div class="ttname"><a href="structelftosb_1_1token__loc__t.html">elftosb::token_loc_t</a></div><div class="ttdoc">Token location in the source file. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:24</div></div>
<div class="ttc" id="classelftosb_1_1_call_statement_a_s_t_node_html_aed3e7084687ffbbb36f85bddd0f0ecfe"><div class="ttname"><a href="classelftosb_1_1_call_statement_a_s_t_node.html#aed3e7084687ffbbb36f85bddd0f0ecfe">elftosb::CallStatementASTNode::m_isHAB</a></div><div class="ttdeci">bool m_isHAB</div><div class="ttdoc">Stack pointer node for &quot;jump sp&quot; command. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1132</div></div>
<div class="ttc" id="classelftosb_1_1_a_s_t_node_html_a2c4f1d44b8ccc3ce5c00c46d687263eb"><div class="ttname"><a href="classelftosb_1_1_a_s_t_node.html#a2c4f1d44b8ccc3ce5c00c46d687263eb">elftosb::ASTNode::m_parent</a></div><div class="ttdeci">ASTNode * m_parent</div><div class="ttdoc">Pointer to parent node of this object. May be NULL. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:89</div></div>
<div class="ttc" id="classelftosb_1_1_expr_a_s_t_node_html_a28d28e6317df4cc1088c751c72f251cb"><div class="ttname"><a href="classelftosb_1_1_expr_a_s_t_node.html#a28d28e6317df4cc1088c751c72f251cb">elftosb::ExprASTNode::reduce</a></div><div class="ttdeci">virtual ExprASTNode * reduce(EvalContext &amp;context)</div><div class="ttdoc">Evaluate the expression and produce a result node to replace this one. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:249</div></div>
<div class="ttc" id="classelftosb_1_1_bootable_section_contents_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_bootable_section_contents_a_s_t_node.html">elftosb::BootableSectionContentsASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:859</div></div>
<div class="ttc" id="classelftosb_1_1_defined_operator_a_s_t_node_html_a078f6c6703fbc0c7fb2e3498afbf0f39"><div class="ttname"><a href="classelftosb_1_1_defined_operator_a_s_t_node.html#a078f6c6703fbc0c7fb2e3498afbf0f39">elftosb::DefinedOperatorASTNode::m_constantName</a></div><div class="ttdeci">smart_ptr&lt; std::string &gt; m_constantName</div><div class="ttdoc">Name of the constant. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:497</div></div>
<div class="ttc" id="classelftosb_1_1_section_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_section_a_s_t_node.html">elftosb::SectionASTNode</a></div><div class="ttdoc">AST node for a section glob. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1251</div></div>
<div class="ttc" id="classelftosb_1_1_call_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_call_statement_a_s_t_node.html">elftosb::CallStatementASTNode</a></div><div class="ttdoc">AST node for a call statement. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1080</div></div>
<div class="ttc" id="classelftosb_1_1_erase_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_erase_statement_a_s_t_node.html">elftosb::EraseStatementASTNode</a></div><div class="ttdoc">Statement to insert a ROM_ERASE_CMD command. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:960</div></div>
<div class="ttc" id="classelftosb_1_1_from_statement_a_s_t_node_html_a9e81791c52f0e1850e4e561920b4aec9"><div class="ttname"><a href="classelftosb_1_1_from_statement_a_s_t_node.html#a9e81791c52f0e1850e4e561920b4aec9">elftosb::FromStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1405</div></div>
<div class="ttc" id="classelftosb_1_1_list_a_s_t_node_html_ad50edcfa2eaf75da8f979c2cc55dab20"><div class="ttname"><a href="classelftosb_1_1_list_a_s_t_node.html#ad50edcfa2eaf75da8f979c2cc55dab20">elftosb::ListASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:121</div></div>
<div class="ttc" id="classelftosb_1_1_keyblob_block_a_s_t_node_html_acbec24d0140f64100467c57a5fcae4bc"><div class="ttname"><a href="classelftosb_1_1_keyblob_block_a_s_t_node.html#acbec24d0140f64100467c57a5fcae4bc">elftosb::KeyblobBlockASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:220</div></div>
<div class="ttc" id="classelftosb_1_1_negative_expr_a_s_t_node_html_aa26bbc4bd323f379f6f366bc2d83f829"><div class="ttname"><a href="classelftosb_1_1_negative_expr_a_s_t_node.html#aa26bbc4bd323f379f6f366bc2d83f829">elftosb::NegativeExprASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:415</div></div>
<div class="ttc" id="classelftosb_1_1_command_file_a_s_t_node_html_a72329b027cd9770c718184ac0222dcd1"><div class="ttname"><a href="classelftosb_1_1_command_file_a_s_t_node.html#a72329b027cd9770c718184ac0222dcd1">elftosb::CommandFileASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:305</div></div>
<div class="ttc" id="classelftosb_1_1_variable_expr_a_s_t_node_html_aa976c3c22b79908178d7e42195fe46d4"><div class="ttname"><a href="classelftosb_1_1_variable_expr_a_s_t_node.html#aa976c3c22b79908178d7e42195fe46d4">elftosb::VariableExprASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:367</div></div>
<div class="ttc" id="classelftosb_1_1_i_v_t_const_a_s_t_node_html_abbf5cdb5f1357ce535f284e2125cb858"><div class="ttname"><a href="classelftosb_1_1_i_v_t_const_a_s_t_node.html#abbf5cdb5f1357ce535f284e2125cb858">elftosb::IVTConstASTNode::m_fields</a></div><div class="ttdeci">smart_ptr&lt; ListASTNode &gt; m_fields</div><div class="ttdoc">Fields of the IVT are set through assignment statements. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:709</div></div>
<div class="ttc" id="classelftosb_1_1_data_section_contents_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_data_section_contents_a_s_t_node.html">elftosb::DataSectionContentsASTNode</a></div><div class="ttdoc">Node representing a raw binary section definition. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:836</div></div>
<div class="ttc" id="classelftosb_1_1_string_const_a_s_t_node_html_a379d44b53d8556f65130ba758bef1d42"><div class="ttname"><a href="classelftosb_1_1_string_const_a_s_t_node.html#a379d44b53d8556f65130ba758bef1d42">elftosb::StringConstASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:654</div></div>
<div class="ttc" id="classelftosb_1_1_sources_block_a_s_t_node_html_a0995fa753296aa5e982e4f3c798c6e69"><div class="ttname"><a href="classelftosb_1_1_sources_block_a_s_t_node.html#a0995fa753296aa5e982e4f3c798c6e69">elftosb::SourcesBlockASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:199</div></div>
<div class="ttc" id="classelftosb_1_1_extern_source_def_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_extern_source_def_a_s_t_node.html">elftosb::ExternSourceDefASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:784</div></div>
<div class="ttc" id="classelftosb_1_1_list_a_s_t_node_html_aeaeb451a546ed410fd2ebde93f61d952"><div class="ttname"><a href="classelftosb_1_1_list_a_s_t_node.html#aeaeb451a546ed410fd2ebde93f61d952">elftosb::ListASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:120</div></div>
<div class="ttc" id="classelftosb_1_1_binary_op_expr_a_s_t_node_html_a12311ca940a22d12566b5f935e9152af"><div class="ttname"><a href="classelftosb_1_1_binary_op_expr_a_s_t_node.html#a12311ca940a22d12566b5f935e9152af">elftosb::BinaryOpExprASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:575</div></div>
<div class="ttc" id="structhab__ivt_html"><div class="ttname"><a href="structhab__ivt.html">hab_ivt</a></div><div class="ttdef"><b>Definition:</b> IVTDataSource.h:91</div></div>
<div class="ttc" id="classelftosb_1_1_command_file_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_command_file_a_s_t_node.html">elftosb::CommandFileASTNode</a></div><div class="ttdoc">Root node for the entire file. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:298</div></div>
<div class="ttc" id="classelftosb_1_1_int_size_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_int_size_expr_a_s_t_node.html">elftosb::IntSizeExprASTNode</a></div><div class="ttdoc">Negates an expression. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:595</div></div>
<div class="ttc" id="classelftosb_1_1_data_section_contents_a_s_t_node_html_a0cf5a60e2cefb9386d3f0d514b9239e1"><div class="ttname"><a href="classelftosb_1_1_data_section_contents_a_s_t_node.html#a0cf5a60e2cefb9386d3f0d514b9239e1">elftosb::DataSectionContentsASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:847</div></div>
<div class="ttc" id="classelftosb_1_1_path_source_def_a_s_t_node_html_a0eb94788a06d3a7f59f3dc3d3f4e2c0b"><div class="ttname"><a href="classelftosb_1_1_path_source_def_a_s_t_node.html#a0eb94788a06d3a7f59f3dc3d3f4e2c0b">elftosb::PathSourceDefASTNode::clone</a></div><div class="ttdeci">virtual PathSourceDefASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:772</div></div>
<div class="ttc" id="classelftosb_1_1_source_a_s_t_node_html_afc07714ff7a42dc544040323c1c69546"><div class="ttname"><a href="classelftosb_1_1_source_a_s_t_node.html#afc07714ff7a42dc544040323c1c69546">elftosb::SourceASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1204</div></div>
<div class="ttc" id="classelftosb_1_1_variable_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_variable_expr_a_s_t_node.html">elftosb::VariableExprASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:355</div></div>
<div class="ttc" id="classelftosb_1_1_i_v_t_const_a_s_t_node_html_a2fda1e49f688c49d8309f4d15c3c5eff"><div class="ttname"><a href="classelftosb_1_1_i_v_t_const_a_s_t_node.html#a2fda1e49f688c49d8309f4d15c3c5eff">elftosb::IVTConstASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:702</div></div>
<div class="ttc" id="classelftosb_1_1_load_statement_a_s_t_node_html_a7c3277c22aa04ced879d394a9ca8c950"><div class="ttname"><a href="classelftosb_1_1_load_statement_a_s_t_node.html#a7c3277c22aa04ced879d394a9ca8c950">elftosb::LoadStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1062</div></div>
<div class="ttc" id="classelftosb_1_1_a_s_t_node_html_a1f295dd46853bfd45275bed4d2b3dee5"><div class="ttname"><a href="classelftosb_1_1_a_s_t_node.html#a1f295dd46853bfd45275bed4d2b3dee5">elftosb::ASTNode::m_location</a></div><div class="ttdeci">token_loc_t m_location</div><div class="ttdoc">Location of this node in the source file. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:90</div></div>
<div class="ttc" id="classelftosb_1_1_erase_statement_a_s_t_node_html_ad38ef42a4ae5f77ef78de03ebfd6476e"><div class="ttname"><a href="classelftosb_1_1_erase_statement_a_s_t_node.html#ad38ef42a4ae5f77ef78de03ebfd6476e">elftosb::EraseStatementASTNode::m_rangeExpr</a></div><div class="ttdeci">smart_ptr&lt; ASTNode &gt; m_rangeExpr</div><div class="ttdoc">Expression that evaluates to the erase address range. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:996</div></div>
<div class="ttc" id="classelftosb_1_1_call_statement_a_s_t_node_html_adab47d045f56ba13a379f759a3bf54d7"><div class="ttname"><a href="classelftosb_1_1_call_statement_a_s_t_node.html#adab47d045f56ba13a379f759a3bf54d7">elftosb::CallStatementASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1113</div></div>
<div class="ttc" id="classelftosb_1_1_section_contents_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_section_contents_a_s_t_node.html">elftosb::SectionContentsASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:807</div></div>
<div class="ttc" id="classelftosb_1_1_message_statement_a_s_t_node_html_a75c4840bc821b454b5175937f2c2cb4c"><div class="ttname"><a href="classelftosb_1_1_message_statement_a_s_t_node.html#a75c4840bc821b454b5175937f2c2cb4c">elftosb::MessageStatementASTNode::_message_type</a></div><div class="ttdeci">_message_type</div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1006</div></div>
<div class="ttc" id="classelftosb_1_1_mem_enable_statement_a_s_t_node_html_a6a0aed018e0c1fab149bb2a943da5c8e"><div class="ttname"><a href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html#a6a0aed018e0c1fab149bb2a943da5c8e">elftosb::MemEnableStatementASTNode::m_memOption</a></div><div class="ttdeci">smart_ptr&lt; ASTNode &gt; m_memOption</div><div class="ttdoc">Memory option identifier. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1187</div></div>
<div class="ttc" id="classelftosb_1_1_list_a_s_t_node_html_af28c6d7e48cc6e4cf5e13c0f0ec7217e"><div class="ttname"><a href="classelftosb_1_1_list_a_s_t_node.html#af28c6d7e48cc6e4cf5e13c0f0ec7217e">elftosb::ListASTNode::m_list</a></div><div class="ttdeci">ast_list_t m_list</div><div class="ttdoc">Ordered list of child nodes. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:147</div></div>
<div class="ttc" id="classelftosb_1_1_i_v_t_const_a_s_t_node_html_a66f8c258233c481c9424c369743a37e2"><div class="ttname"><a href="classelftosb_1_1_i_v_t_const_a_s_t_node.html#a66f8c258233c481c9424c369743a37e2">elftosb::IVTConstASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:701</div></div>
<div class="ttc" id="classelftosb_1_1_keywrap_statement_a_s_t_node_html_a147da81714af557d9529450449ada7b0"><div class="ttname"><a href="classelftosb_1_1_keywrap_statement_a_s_t_node.html#a147da81714af557d9529450449ada7b0">elftosb::KeywrapStatementASTNode::m_keyblobNumberExpr</a></div><div class="ttdeci">smart_ptr&lt; ExprASTNode &gt; m_keyblobNumberExpr</div><div class="ttdoc">Expression that evaluates to the keyblob instance number. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1470</div></div>
<div class="ttc" id="classelftosb_1_1_negative_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_negative_expr_a_s_t_node.html">elftosb::NegativeExprASTNode</a></div><div class="ttdoc">Negates an expression. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:404</div></div>
<div class="ttc" id="classelftosb_1_1_sizeof_operator_a_s_t_node_html_af1c56af50ce1e9491bc5bcdd10be4f17"><div class="ttname"><a href="classelftosb_1_1_sizeof_operator_a_s_t_node.html#af1c56af50ce1e9491bc5bcdd10be4f17">elftosb::SizeofOperatorASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:522</div></div>
<div class="ttc" id="classelftosb_1_1_variable_expr_a_s_t_node_html_a1060f65e31c616ea78bd37016af75ab8"><div class="ttname"><a href="classelftosb_1_1_variable_expr_a_s_t_node.html#a1060f65e31c616ea78bd37016af75ab8">elftosb::VariableExprASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:366</div></div>
<div class="ttc" id="classelftosb_1_1_int_const_expr_a_s_t_node_html_a7763827d5dea1b8d0ceb7b4705798ebd"><div class="ttname"><a href="classelftosb_1_1_int_const_expr_a_s_t_node.html#a7763827d5dea1b8d0ceb7b4705798ebd">elftosb::IntConstExprASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:341</div></div>
<div class="ttc" id="classelftosb_1_1_mem_enable_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html">elftosb::MemEnableStatementASTNode</a></div><div class="ttdoc">Statement to insert a ROM_MEM_ENABLE_CMD command. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1160</div></div>
<div class="ttc" id="classelftosb_1_1_source_file_function_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_source_file_function_a_s_t_node.html">elftosb::SourceFileFunctionASTNode</a></div><div class="ttdoc">Calls a built-in function with a source as the parameter. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:452</div></div>
<div class="ttc" id="classelftosb_1_1_constants_block_a_s_t_node_html_a13d1ad478399f5d4ae589b6d5d63d08c"><div class="ttname"><a href="classelftosb_1_1_constants_block_a_s_t_node.html#a13d1ad478399f5d4ae589b6d5d63d08c">elftosb::ConstantsBlockASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:181</div></div>
<div class="ttc" id="classelftosb_1_1_a_s_t_node_html_a040e81ff0ffed5739c77d4ec3640b59d"><div class="ttname"><a href="classelftosb_1_1_a_s_t_node.html#a040e81ff0ffed5739c77d4ec3640b59d">elftosb::ASTNode::ASTNode</a></div><div class="ttdeci">ASTNode(ASTNode *parent)</div><div class="ttdoc">Constructor taking a parent node. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:43</div></div>
<div class="ttc" id="classelftosb_1_1_int_const_expr_a_s_t_node_html_a16f8d1764f300c1d794b5e0985e6e208"><div class="ttname"><a href="classelftosb_1_1_int_const_expr_a_s_t_node.html#a16f8d1764f300c1d794b5e0985e6e208">elftosb::IntConstExprASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:342</div></div>
<div class="ttc" id="classelftosb_1_1_section_contents_a_s_t_node_html_a9699b515607ff9c1cc51237872fbe601"><div class="ttname"><a href="classelftosb_1_1_section_contents_a_s_t_node.html#a9699b515607ff9c1cc51237872fbe601">elftosb::SectionContentsASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:820</div></div>
<div class="ttc" id="classelftosb_1_1_string_const_a_s_t_node_html_aee62f9266afabece951e1a41acdbffd2"><div class="ttname"><a href="classelftosb_1_1_string_const_a_s_t_node.html#aee62f9266afabece951e1a41acdbffd2">elftosb::StringConstASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:655</div></div>
<div class="ttc" id="classelftosb_1_1_assignment_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_assignment_a_s_t_node.html">elftosb::AssignmentASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:715</div></div>
<div class="ttc" id="classelftosb_1_1_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_expr_a_s_t_node.html">elftosb::ExprASTNode</a></div><div class="ttdoc">Abstract base class for all expression AST nodes. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:231</div></div>
<div class="ttc" id="classelftosb_1_1_address_range_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_address_range_a_s_t_node.html">elftosb::AddressRangeASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1339</div></div>
<div class="ttc" id="classelftosb_1_1_mode_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_mode_statement_a_s_t_node.html">elftosb::ModeStatementASTNode</a></div><div class="ttdoc">Statement to insert a ROM_MODE_CMD command. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:932</div></div>
<div class="ttc" id="classelftosb_1_1_keyblob_block_a_s_t_node_html_a628925661fee10758e8e5032ddae4150"><div class="ttname"><a href="classelftosb_1_1_keyblob_block_a_s_t_node.html#a628925661fee10758e8e5032ddae4150">elftosb::KeyblobBlockASTNode::m_keyblobNumberExpr</a></div><div class="ttdeci">smart_ptr&lt; ExprASTNode &gt; m_keyblobNumberExpr</div><div class="ttdoc">Expression that evaluates to the keyblob instance number. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:225</div></div>
<div class="ttc" id="classelftosb_1_1_binary_op_expr_a_s_t_node_html_a674787030599a3588138bdfe4516f8d3"><div class="ttname"><a href="classelftosb_1_1_binary_op_expr_a_s_t_node.html#a674787030599a3588138bdfe4516f8d3">elftosb::BinaryOpExprASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:576</div></div>
<div class="ttc" id="classelftosb_1_1_int_size_expr_a_s_t_node_html_ad56179bedeff885ef3a7f2a1993e4b5e"><div class="ttname"><a href="classelftosb_1_1_int_size_expr_a_s_t_node.html#ad56179bedeff885ef3a7f2a1993e4b5e">elftosb::IntSizeExprASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:607</div></div>
<div class="ttc" id="classelftosb_1_1_a_s_t_node_html_a8af745cbd3a4c417962ad39fcad3cb9a"><div class="ttname"><a href="classelftosb_1_1_a_s_t_node.html#a8af745cbd3a4c417962ad39fcad3cb9a">elftosb::ASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:62</div></div>
<div class="ttc" id="classelftosb_1_1_erase_statement_a_s_t_node_html_a807432b25cd5e2acc348fb1b868319d1"><div class="ttname"><a href="classelftosb_1_1_erase_statement_a_s_t_node.html#a807432b25cd5e2acc348fb1b868319d1">elftosb::EraseStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:982</div></div>
<div class="ttc" id="class_blob_html"><div class="ttname"><a href="class_blob.html">Blob</a></div><div class="ttdoc">Manages a binary object of arbitrary length. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/Blob.h:18</div></div>
<div class="ttc" id="classelftosb_1_1_command_file_a_s_t_node_html_ae591c0fece6ce5ffae7a1c8a8873c876"><div class="ttname"><a href="classelftosb_1_1_command_file_a_s_t_node.html#ae591c0fece6ce5ffae7a1c8a8873c876">elftosb::CommandFileASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:304</div></div>
<div class="ttc" id="classelftosb_1_1_extern_source_def_a_s_t_node_html_a5899af21a2d85ad29187d6bf48dc9c4e"><div class="ttname"><a href="classelftosb_1_1_extern_source_def_a_s_t_node.html#a5899af21a2d85ad29187d6bf48dc9c4e">elftosb::ExternSourceDefASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:796</div></div>
<div class="ttc" id="classelftosb_1_1_load_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_load_statement_a_s_t_node.html">elftosb::LoadStatementASTNode</a></div><div class="ttdoc">AST node for a load statement. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1040</div></div>
<div class="ttc" id="classelftosb_1_1_sources_block_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_sources_block_a_s_t_node.html">elftosb::SourcesBlockASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:189</div></div>
<div class="ttc" id="classelftosb_1_1_list_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_list_a_s_t_node.html">elftosb::ListASTNode</a></div><div class="ttdoc">AST node that contains other AST nodes. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:107</div></div>
<div class="ttc" id="classelftosb_1_1_symbol_ref_expr_a_s_t_node_html_aebe1f01d513977d9f4c317ba1eba1023"><div class="ttname"><a href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html#aebe1f01d513977d9f4c317ba1eba1023">elftosb::SymbolRefExprASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:392</div></div>
<div class="ttc" id="classelftosb_1_1_list_a_s_t_node_html_a6ffdc771da7cf13eb273ec0a02ceb15a"><div class="ttname"><a href="classelftosb_1_1_list_a_s_t_node.html#a6ffdc771da7cf13eb273ec0a02ceb15a">elftosb::ListASTNode::nodeCount</a></div><div class="ttdeci">virtual unsigned nodeCount() const </div><div class="ttdoc">Returns the number of nodes in this list. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:130</div></div>
<div class="ttc" id="classelftosb_1_1_source_file_function_a_s_t_node_html_ae9f185f3fdf5cccfc5a5293b461b8ac2"><div class="ttname"><a href="classelftosb_1_1_source_file_function_a_s_t_node.html#ae9f185f3fdf5cccfc5a5293b461b8ac2">elftosb::SourceFileFunctionASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:464</div></div>
<div class="ttc" id="classelftosb_1_1_section_contents_a_s_t_node_html_adac4e450642662e42261a4780b3a3b98"><div class="ttname"><a href="classelftosb_1_1_section_contents_a_s_t_node.html#adac4e450642662e42261a4780b3a3b98">elftosb::SectionContentsASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:821</div></div>
<div class="ttc" id="classelftosb_1_1_reset_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_reset_statement_a_s_t_node.html">elftosb::ResetStatementASTNode</a></div><div class="ttdoc">Statement to insert a ROM_RESET_CMD command. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1138</div></div>
<div class="ttc" id="classelftosb_1_1_symbol_a_s_t_node_html_a5d5db9b4e91f00b9e10ddcd429e9411f"><div class="ttname"><a href="classelftosb_1_1_symbol_a_s_t_node.html#a5d5db9b4e91f00b9e10ddcd429e9411f">elftosb::SymbolASTNode::m_source</a></div><div class="ttdeci">smart_ptr&lt; std::string &gt; m_source</div><div class="ttdoc">Optional, may be NULL;. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1333</div></div>
<div class="ttc" id="classelftosb_1_1_path_source_def_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_path_source_def_a_s_t_node.html">elftosb::PathSourceDefASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:761</div></div>
<div class="ttc" id="classelftosb_1_1_options_block_a_s_t_node_html_abb0a4b4b90592f0f924fc9177e94b0c5"><div class="ttname"><a href="classelftosb_1_1_options_block_a_s_t_node.html#abb0a4b4b90592f0f924fc9177e94b0c5">elftosb::OptionsBlockASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:163</div></div>
<div class="ttc" id="classelftosb_1_1_keywrap_statement_a_s_t_node_html_a78d25485558fedd0bcc5c3236d2ab41a"><div class="ttname"><a href="classelftosb_1_1_keywrap_statement_a_s_t_node.html#a78d25485558fedd0bcc5c3236d2ab41a">elftosb::KeywrapStatementASTNode::nodeName</a></div><div class="ttdeci">virtual std::string nodeName() const </div><div class="ttdoc">Returns the name of the object&amp;#39;s class. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1461</div></div>
<div class="ttc" id="classelftosb_1_1_constants_block_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_constants_block_a_s_t_node.html">elftosb::ConstantsBlockASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:171</div></div>
<div class="ttc" id="classelftosb_1_1_symbol_ref_expr_a_s_t_node_html_a75ae5354c4738540383c91599f9ef09e"><div class="ttname"><a href="classelftosb_1_1_symbol_ref_expr_a_s_t_node.html#a75ae5354c4738540383c91599f9ef09e">elftosb::SymbolRefExprASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:391</div></div>
<div class="ttc" id="classelftosb_1_1_string_const_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_string_const_a_s_t_node.html">elftosb::StringConstASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:644</div></div>
<div class="ttc" id="classelftosb_1_1_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_a_s_t_node.html">elftosb::ASTNode</a></div><div class="ttdoc">The base class for all AST node classes. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:33</div></div>
<div class="ttc" id="classelftosb_1_1_binary_op_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_binary_op_expr_a_s_t_node.html">elftosb::BinaryOpExprASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:539</div></div>
<div class="ttc" id="classelftosb_1_1_a_s_t_node_html_a10a434446abd89b49017a84c89a4d6f1"><div class="ttname"><a href="classelftosb_1_1_a_s_t_node.html#a10a434446abd89b49017a84c89a4d6f1">elftosb::ASTNode::~ASTNode</a></div><div class="ttdeci">virtual ~ASTNode()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:57</div></div>
<div class="ttc" id="classelftosb_1_1_section_match_list_a_s_t_node_html_a8c63b2f571b631fd3158c181ed08a9fe"><div class="ttname"><a href="classelftosb_1_1_section_match_list_a_s_t_node.html#a8c63b2f571b631fd3158c181ed08a9fe">elftosb::SectionMatchListASTNode::clone</a></div><div class="ttdeci">virtual ASTNode * clone() const </div><div class="ttdoc">Returns an exact duplicate of this object. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1234</div></div>
<div class="ttc" id="classelftosb_1_1_symbol_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_symbol_a_s_t_node.html">elftosb::SymbolASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1304</div></div>
<div class="ttc" id="structelftosb_1_1token__loc__t_html_a33767e3309c66eadc08d467208c5cfb6"><div class="ttname"><a href="structelftosb_1_1token__loc__t.html#a33767e3309c66eadc08d467208c5cfb6">elftosb::token_loc_t::m_firstLine</a></div><div class="ttdeci">int m_firstLine</div><div class="ttdoc">Starting line of the token. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:26</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_96c2f84c885cff71a930b6845f88cdd3.html">elftosb</a></li><li class="navelem"><a class="el" href="dir_052a101de9f4bb1b83e10d1f7ba74046.html">elftosb2</a></li><li class="navelem"><b>ElftosbAST.h</b></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:50 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
